XmlReader.MoveToContent Method
Checks whether the current node is a content (non-white space text, CDATA, Element, EndElement, EntityReference, or EndEntity) node. If the node is not a content node, the reader skips ahead to the next content node or end of file. It skips over nodes of the following type: ProcessingInstruction, DocumentType, Comment, Whitespace, or SignificantWhitespace.
[Visual Basic] Public Overridable Function MoveToContent() As XmlNodeType [C#] public virtual XmlNodeType MoveToContent(); [C++] public: virtual XmlNodeType MoveToContent(); [JScript] public function MoveToContent() : XmlNodeType;
Return Value
The NodeType of the current node found by the method or XmlNodeType.None if the reader has reached the end of the input stream.
Exceptions
| Exception Type | Condition |
|---|---|
| XmlException | Incorrect XML encountered in the input stream. |
Remarks
If the current node is an attribute node, this method moves the reader back to the element that owns the attribute.
Example
[Visual Basic, C#, C++] This is useful when you want to write code that can skip over random XML markup without breaking. For example, suppose you have the following code:
[Visual Basic] If reader.MoveToContent() = XmlNodeType.Element And reader.Name = "price" Then _price = reader.ReadString() End If [C#] if (reader.MoveToContent() == XmlNodeType.Element && reader.Name == "price") { _price = reader.ReadString(); } [C++] if (reader->MoveToContent() == XmlNodeType::Element && reader->Name->Equals(S"price")) { _price = reader->ReadString(); }
[Visual Basic, C#, C++] This code can handle the following inputs without breaking:
[Visual Basic, C#, C++] <price>123.4</price>
[Visual Basic, C#, C++] and
[Visual Basic, C#, C++] <?xml version="1.0"><!DOCTYPE price SYSTEM
"abc"><price>123.4</price>
[Visual Basic, C#, C++] and
[Visual Basic, C#, C++] <?xml version="1.0"><!DOCTYPE price SYSTEM "abc"
[<!ENTTIY p
"123.4">]><price>&p;</price>
[Visual Basic, C#, C++] and
[Visual Basic, C#, C++] <!-- some test comment --><?processing
instruction?><price>123.4</price>
[JScript] No example is available for JScript. To view a Visual Basic, C#, or C++ example, click the Language Filter button
in the upper-left corner of the page.
Requirements
Platforms: Windows 98, Windows NT 4.0, Windows Millennium Edition, Windows 2000, Windows XP Home Edition, Windows XP Professional, Windows Server 2003 family, .NET Compact Framework, Common Language Infrastructure (CLI) Standard