0
我有一個可變的XML可能是這個樣子:使用XmlReader獲取包含特定屬性的每個節點的XPath?
<content>
<main editable="true">
<h1>Here is my header</h1>
<p>Here is my content</p>
</main>
<buttons>
<positive editable="true">I agree!</positive>
<negative editable="true">No - get me outta here!</negative>
</button>
</content>
我想獲得的XPath爲所有具有屬性的「編輯」,等於「真」的節點。請注意,這些屬性可以在變量節點級別,因此我不能只遍歷一個級別的所有節點並檢查該屬性。由於速度的原因,我也想使用XmlReader,但如果有更好/更快的方法,那麼我也會接受。
var xml = IO.File.ReadAllText(contentFilePath);
var readXML = XmlReader.Create(new StringReader(xml));
readXML.ReadToFollowing("content");
while (readXML.Read()) {
//???
}
如果你正在閱讀所有的文本到一個字符串,我認爲你失去了XmlReader的主要好處... – Jacob
@Jacob嗯,這是很好的知道。如果文件位於文件系統上,最快的方法是什麼?讀取字節並提供流? – RichC
@RichC你的文件有多大?性能優勢可以說是不值得的,除非它們非常大。 –