我正在使用XMLReader
C# .net 4.0 来搜索一小段 XML。我想在 XML 中查找特定元素,我正在使用该XMLReader.ReadToFollowing("name")
方法来查找元素。我不知道元素在 XML 文档中的顺序;它们处于不同的序列中或完全缺失。顺序对我来说无关紧要,但如果元素丢失,我会抛出异常。
XMLReader 只是转发的,所以如果我要查找的第一个元素是 XML 文档中的最后一个值,那么额外的读取将失败。
我正在考虑为每个搜索创建一个新的 XMLReader。我只有一小部分要查找的元素,而且 XML 不是很大,所以我认为不会有太多开销,但我可能是错的。
当您不知道元素的顺序时,是否有更好的库可用于搜索 XML?或者 XML 中缺少顺序是否违反了 XML 规范?
具体来说,假设我有一些简单的 XML。一个头和10个孩子。
<sometag>
<element1>data</element1>
<element2>data</element2>
.
.
.
<element10>data</element10>
</sometag>
打开 5 个 XMLReader 来查找这些元素会不会效率低下?我也可以使用一个阅读器并逐步浏览每个元素,但是我需要跟踪我找到了哪些元素。