1

我需要读取一个 XML 文件,但在这种情况下它跳过了一些元素,如“链接”,我放置了一个断点,我发现 IsStartElement 在元素为链接时为假。有任何想法吗 ?

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>
4

1 回答 1

0

你没有阅读结束元素。

它应该类似于(伪代码):

if not reader.IsEmptyElement
    reader.ReadStartElement()
    value = reader.ReadContentAsSomething()
    reader.ReadEndElement()
else 
    reader.Skip()

您缺少ReadEndElement和 的检查IsEmptyElement

于 2013-02-07T13:13:41.957 回答