假设您有以下无法替换的 xml 约定:
每个类都由<Class>
HashCode 属性表示。<Class>
类的名称就在标签的正下方。
<?xml version="1.0" encoding="utf-8"?>
<Class HashCode="1">
<Person>
<Class HashCode="-3">
<FullName>
<FirstName>Dan</FirstName>
<LastName>K</LastName>
</FullName>
</Class>
<Age>20</Age>
<Class HashCode="4">
<Address>
<Street>abc</Street>
<City>new york</City>
<ZipCode>30500</ZipCode>
<PhoneNumber>1245</PhoneNumber>
</Address>
</Class>
</Person>
问题:我如何使用XMLReader
object 来读取给定元素之后的 Node 元素的数量,直到我到达一个元素标签,该标签后面没有<Class>
标签。
例如:
Starting at<FullName>
将自动停止在<LastName>
(因为在没有标签之前有一个<Class>
标签)并返回它们之间的元素数,我猜是 1。
假设: 假设您有开始标签的Hashcode
值和名称,它们当然会在<Class Hashcode=>
标签之后出现。
我尝试了很多XMLReader
方法并变得复杂,试图转换为XMLDocument
withXMlReader.ReadSubtree()
但似乎XMLDocument
也没有帮助我。