我正在使用xmltextreader解析一些xml条目,并通过在不同的循环中使用不同的文本读取器来查找我需要的元素,如下所示:
Dim treader As XmlTextReader = New XmlTextReader(New StringReader(item.ToString))
While treader.Read
If treader.Name = "summary" Then
content = treader.ReadElementContentAsString
If String.IsNullOrEmpty(content) Then
content = "NOTHING"
Continue While
End If
contentList.Add(content)
Exit While
End If
End While
我为我正在寻找的每个元素做同样的事情。现在当我得到每个结果时出现问题。我为每个元素使用了一个arraylist,有时我将有一个不等的数量,如100为摘要,100为标题,99为id等... 有没有更有效的方法,通过检查条目是否所有节点都在那里,然后只是跳过它,如果不是。
<entry>
<summary>
<id>
<published>
<uri>
<rule>
</entry>
答案 0 :(得分:1)
我会创建一个入口对象并将xml反序列化为入口对象列表。这将打开linq和每个循环的大门。查看XmlSerializer Class。我希望你的数据没有99个ID和100个其他领域。