【发布时间】:2012-12-17 23:36:00
【问题描述】:
假设你有一个这样的 XML:
<?xml version="1.0" encoding="utf-8"?>
<Class HashCode="307960707">
<Person>
<Class HashCode="-2020100801">
<FullName>
<FirstName>Dan</FirstName>
<LastName>K</LastName>
</FullName>
</Class>
<Age>20</Age>
<Class HashCode="-439631396">
<Address>
<Street>abc</Street>
<City>new york</City>
<ZipCode>30500</ZipCode>
<PhoneNumber>1245</PhoneNumber>
</Address>
</Class>
<Class HashCode="-1436395737">
<Person>
<Class HashCode="-1303968324">
<FullName>
<FirstName>katty</FirstName>
<LastName>G</LastName>
</FullName>
</Class>
<Age>18</Age>
<Class HashCode="-439631396">
<Address />
</Class>
<Class HashCode="307960707">
<Person />
</Class>
</Person>
</Class>
我希望能够按照它们出现的顺序仅迭代带有XMLReader 的元素,这意味着 class->Person-> class->FullName 等。
我试图使用XMLReader.ReadStartElement() 之类的方法进行导航,但它不起作用,尤其是当我读到"\n" 之类的空格时,它似乎也是一个元素。 :/
我试图用方法XMLReader.Read() 绕过那个空格,但没有成功。
请帮助我了解我应该如何导航。
【问题讨论】:
-
您的 XML 无效。名称不能包含空格,并且
</>不是有效的结束标记。 -
好吧,这只是为了说明,只是,> 不存在,而且元素之间的空格(例如 Dan)也不存在
-
这不是我的程序的输出,我原来的XML除了我上面提到的之外和这个类似
-
我的意思是
<Zip Code/>无效。 -
WhitespaceHandling 对您没有帮助吗?见here