如何在指定节点中的xml上添加值

时间:2014-01-21 14:06:35

标签: c# xml

我需要在c#上编写程序,检查xml上是否存在节点。如果不是:插入值。所以我有树路径: ./ a / d 和一些我需要插入的行:

<e name="aaa" value="bbb" />

如何在正确的位置读取和插入值?这是原始的xml:

 <?xml version="1.0" encoding="utf-8"?>
    <a>
      <b>
      <c></c>
      </b>
    </a> 

之后,我需要XML:

<?xml version="1.0" encoding="utf-8"?>
    <a>
      <b>
      <c></c>
      </b>
      <d>
        <e name="aaa" value="bbb" />
      </d>
    </a>

那么,你能帮我解决一下代码吗?

1 个答案:

答案 0 :(得分:0)

LINQ to XML

很容易
var xDoc = XElement.Load("path");
var elemens = xDoc.Elements("a").First().Element("b");
element.AddAfterSelf(new XElement("d", 
                           new XElement("e", new XAttribute("name","aaa"),
                                             new XAttribute("value","bbb"))));
xDoc.Save("path");

另外你应该看一下文档:

  1. Adding Elements, Attributes, and Nodes to an XML Tree
  2. XNode.AddAfterSelf Method