特别注意 XmlTextReader 的 ReadElementString()

  • 实战 ReadOuterXml 与 ReadInnerXml
  • Value、ReadString、ReadContentAsString、ReadElementContentAsString 区别
  • 特别注意 XmlTextReader 的 ReadElementString()

先看代码:

如上代码我们都很熟悉,Read() 先将“指针”后移 1 位,然后读取并将 NodeType、Name、Value 等值赋给相应属性。

以上都没有什么,只是要特别注意另一个方法 ReadElementString()

如上 XML,如果当前“指针”指向 <a>,调用 ReadElementString() 后,会将 itpow.com 返回,然后将“指针”后移 2 位,也就是说指向 </a> 后面一个。这里由于</a><b> 紧密相连,没有空白字符,所以它实际就指向了 <b>。

注意 <a>itpow.com</a>、<a></a>、<a><![CDATA[itpow.com]]></a>,这三种,对 ReadElementString() 来说,是一样的。

顺便提一下,当“指针”移到 XML 最后之外时,reader 的 EOF 为 true,reader 的 NodeType 为 XmlNodeType.None。

你可能感兴趣的