Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/319.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/xml/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何在指定节点中为xml添加值_C#_Xml - Fatal编程技术网

C# 如何在指定节点中为xml添加值

C# 如何在指定节点中为xml添加值,c#,xml,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&

我需要在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>


那么,您能帮我编写代码吗?

使用
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");
此外,您还应查看文档:


  • 你已经试过什么了吗?你读过
    XDocument
    课程吗?如果您没有,我邀请您这样做,然后介绍您的发现,以便我们进行讨论。在现阶段,这看起来更像是一个问题的描述,你将处理给一个你刚刚雇佣的软件开发人员,而不是一个在公共论坛上向同行寻求帮助的软件开发人员。旁注-你在错误的地方“插入”了值-它是
    a/d
    ,而不是
    a/b/d