Получить весь узел XML, а не InnerXml

Учитывая следующий XML:

<Root>
  <Item id="1">
    <name>Foo</name>
    <status>Active</status>
  </Item>
  <Item id="2">
    <name>Bar</name>
    <status>Inactive</status>
  </Item>
</Root>

Допустим, у меня есть этот XML в объекте XmlDocument, а затем следующий код:

var nodes = xmlDocumentObject.GetElementsByTagName("Item");
foreach (var node in nodes)
{
   var nodeXml = ??
}

Я могу легко получить InnerXml каждого узла, который для первого узла будет:

<name>Foo</name>
<status>Active</status>

Но как я могу получить XML для узла, включая содержащий тег и его атрибуты, например:

<Item id="1">
  <name>Foo</name>
  <status>Active</status>
</Item>

1 ответ

Решение

Попробуйте использовать XmlNode.OuterXml вместо InnerXml:

foreach (XmlNode node in nodes)
{
   var nodeXml = node.OuterXml;
}
Другие вопросы по тегам