我正在遍歷一個使用XmlReader
的大型XML文檔,並將其拼接成一個更小,更易於管理的XmlDocmuent
。一路上,我覺得這很有趣的一個節點,以便將它移到我這樣做:XmlReader原樣返回節點
targetDoc.LoadXml("<result></result>");
// Some interesting code removed
using (XmlReader r = XmlReader.Create(file))
{
while (r.Read())
{
if (r.NodeType == XmlNodeType.Element)
{
if (r.Name == match)
{
// Put the node into the target document
targetDoc.FirstChild.InnerXml = r.ReadOuterXml();
return targetDoc;
}
}
}
}
這是一切都很好,但我想包括節點不及其後代。我感興趣的是節點本身及其屬性。在這一點上,後代非常龐大,體積龐大且無趣。 (並將它們一次讀入內存將導致內存不足錯誤...)
是否有一種簡單的方法來獲取找到的元素的文本(?)及其屬性 - 但不是它的後代 - 進入目標文件?
你不應該使用'新的XmlTextReader()'。改用'XmlReader.Create()'。 –
它實際上是作爲外部函數(未顯示)的參數傳遞併爲SO輸入的。有希望編輯,我會得到一個有用的答案。 –
試圖幫助那些不知道比複製/粘貼他們在這裏看到的代碼更好的人。 –