Я перебираю большой XML-документ, используя XmlReader
, и объединяю его в гораздо меньший и более управляемый XmlDocmuent
.По пути я нахожу интересный узел, поэтому для его перемещения я делаю так:
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;
}
}
}
}
Это все хорошо, за исключением того, что я хотел бы включить узел без его потомков .Что меня интересует, так это сам узел с его атрибутами.Потомки очень большие, громоздкие и неинтересные на данный момент.(И одновременное чтение их в память вызовет ошибки нехватки памяти ...)
Есть ли простой способ получить текст (?) Найденного элемента с его атрибутами - но не его потомки- в целевой документ?