XmlReader.MoveToContent 方法
检查当前节点是否是内容(非空白文本、CDATA、Element、EndElement、EntityReference 或 EndEntity)节点。如果此节点不是内容节点,则读取器向前跳至下一个内容节点或文件结尾。它跳过以下类型的节点:ProcessingInstruction、DocumentType、Comment、Whitespace 或 SignificantWhitespace。
**命名空间:**System.Xml
**程序集:**System.Xml(在 system.xml.dll 中)
语法
声明
Public Overridable Function MoveToContent As XmlNodeType
用法
Dim instance As XmlReader
Dim returnValue As XmlNodeType
returnValue = instance.MoveToContent
public virtual XmlNodeType MoveToContent ()
public:
virtual XmlNodeType MoveToContent ()
public XmlNodeType MoveToContent ()
public function MoveToContent () : XmlNodeType
返回值
此方法找到的当前节点的 NodeType;如果读取器已到达输入流的末尾,则为 XmlNodeType.None。
异常
异常类型 | 条件 |
---|---|
在输入流中遇到不正确的 XML。 |
备注
如果当前节点是一个属性节点,则此方法将读取器移回拥有该属性的元素。
示例
当要编写可以不中断地跳过随机 XML 标记的代码时,这很有用。例如,假设您有以下代码:
If reader.MoveToContent() = XmlNodeType.Element And reader.Name = "price" Then
_price = reader.ReadString()
End If
if (reader.MoveToContent() == XmlNodeType.Element && reader.Name == "price")
{
_price = reader.ReadString();
}
if ( reader->MoveToContent() == XmlNodeType::Element &&
reader->Name->Equals( "price" ) )
{
_price = reader->ReadString();
}
if (reader.MoveToContent().Equals(XmlNodeType.Element) &&
reader.get_Name().Equals("price")) {
_price = reader.ReadString();
}
此代码可以在不中断的情况下处理下面的输入:
<price>123.4</price>
以及
<?xml version="1.0"><!DOCTYPE price SYSTEM
"abc"><price>123.4</price>
以及
<?xml version="1.0"><!DOCTYPE price SYSTEM "abc"
[<!ENTTIY p
"123.4">]><price>&p;</price>
以及
<!-- some test comment --><?processing
instruction?><price>123.4</price>
平台
Windows 98、Windows 2000 SP4、Windows CE、Windows Millennium Edition、Windows Mobile for Pocket PC、Windows Mobile for Smartphone、Windows Server 2003、Windows XP Media Center Edition、Windows XP Professional x64 Edition、Windows XP SP2、Windows XP Starter Edition
.NET Framework 并不是对每个平台的所有版本都提供支持。有关受支持版本的列表,请参见系统要求。
版本信息
.NET Framework
受以下版本支持:2.0、1.1、1.0
.NET Compact Framework
受以下版本支持:2.0、1.0
请参见
参考
XmlReader 类
XmlReader 成员
System.Xml 命名空间