获取整个节点XML而不是InnerXml

时间:2014-05-02 03:53:27

标签: c# xml xmldocument innerxml

给出以下XML:

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

假设我在XmlDocument对象中有这个XML,然后有以下代码:

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 个答案:

答案 0 :(得分:1)

尝试使用XmlNode.OuterXml代替InnerXml

foreach (XmlNode node in nodes)
{
   var nodeXml = node.OuterXml;
}