我需要读取一个XML文件,但在这种情况下它会跳过一些像“link”这样的元素,我放了一个断点,我发现当元素是链接时IsStartElement为false。 任何想法?
Dim reader As XmlReader = XmlReader.Create(New StringReader(Xml), settings)
While reader.Read()
If reader.IsStartElement Then
Select Case reader.Name
Case "title"
title = reader.ReadElementContentAsString()
Case "link"
link= reader.ReadElementContentAsString()
End Select
End If
End While
XML文件
<title> title 1 </title>
<link>link 1 </link>
答案 0 :(得分:0)
您没有阅读结束元素。
它应该是(伪代码):
if not reader.IsEmptyElement
reader.ReadStartElement()
value = reader.ReadContentAsSomething()
reader.ReadEndElement()
else
reader.Skip()
您错过了ReadEndElement
以及对IsEmptyElement
的检查。