Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/289.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# 如何使用C将child附加到xml中#_C#_Xml_Tags - Fatal编程技术网

C# 如何使用C将child附加到xml中#

C# 如何使用C将child附加到xml中#,c#,xml,tags,C#,Xml,Tags,我想通过在现有XML中添加以下提到的标记来修改XML: <filter> <filterName>FOUND_IN_BUILD</filterName> <operator> <name>Equals</name> </operator> <value>2</value> </filter> 但我得到了以下回应: <filter> <filterName&g

我想通过在现有XML中添加以下提到的标记来修改XML:

<filter>
<filterName>FOUND_IN_BUILD</filterName>
<operator>
<name>Equals</name>
</operator>
<value>2</value>
</filter>
但我得到了以下回应:

<filter>
<filterName>
FOUND_IN_BUILD
<operator>
<operator>
Equals
<value/>
</operator>
</operator>
</filterName>
</filter>

在\u生成中找到\u
等于
由于我不熟悉C#的xml功能,请帮助并建议我执行所需的操作

我的初始XML如下所示:

<criteria>
        <includeFilterSets>
          <filterSet>
            <filter>
              <filterName>PRODUCT_NAME</filterName>
              <operator>
                <name>Equals</name>
              </operator>
              <value>Dr.Watson</value>
            </filter>
          </filterSet>
        </includeFilterSets>
        <caseSensitive>false</caseSensitive>
        <entityToSearch>
          <name>BUG</name>
        </entityToSearch>
      </criteria>
<criteria>
<includeFilterSets>
<filterSet>
<filter>
<filterName>PRODUCT_NAME</filterName>
<operator>
<name>Equals</name>
</operator>
<value>Dr.Watson</value>
</filter>
<filter>
<filterName>FOUND_IN_BUILD</filterName>
<operator>
<name>Equals</name>
</operator>
<value>2</value>
</filter>
</filterSet>
</includeFilterSets>
<caseSensitive>false</caseSensitive>
<entityToSearch>
<name>BUG</name>
</entityToSearch>
</criteria>

产品名称
等于
沃森博士
假的
缺陷
我希望得到的答复如下:

<criteria>
        <includeFilterSets>
          <filterSet>
            <filter>
              <filterName>PRODUCT_NAME</filterName>
              <operator>
                <name>Equals</name>
              </operator>
              <value>Dr.Watson</value>
            </filter>
          </filterSet>
        </includeFilterSets>
        <caseSensitive>false</caseSensitive>
        <entityToSearch>
          <name>BUG</name>
        </entityToSearch>
      </criteria>
<criteria>
<includeFilterSets>
<filterSet>
<filter>
<filterName>PRODUCT_NAME</filterName>
<operator>
<name>Equals</name>
</operator>
<value>Dr.Watson</value>
</filter>
<filter>
<filterName>FOUND_IN_BUILD</filterName>
<operator>
<name>Equals</name>
</operator>
<value>2</value>
</filter>
</filterSet>
</includeFilterSets>
<caseSensitive>false</caseSensitive>
<entityToSearch>
<name>BUG</name>
</entityToSearch>
</criteria>

产品名称
等于
沃森博士
在\u生成中找到\u
等于
2.
假的
缺陷
我发现更容易使用

var xDoc = XDocument.Load(fName);
var filterset = xDoc.Root.Element("includeFilterSets").Element("filterSet");
var filter = new XElement("filter", 
                    new XElement("filterName","FOUND_IN_BUILD"),
                    new XElement("operator",new XElement("name","Equals")),
                    new XElement("value",2)
                    );

filterset.Add(filter);
string newXml = xDoc.ToString();
编辑

和一个混合代码:)


您能发布您的初始xml和期望的xml吗?@I4V谢谢。我已经发布了初始的和预期的xml。请参考。实际上我在这里有一个限制。我在一个xml文档中执行这些编辑,如下所示:XmlDocument doc=new XmlDocument();我必须以这种方式执行它,因为我必须在以后的代码中使用此过程。是否需要对现有代码进行任何修改,以便获得所需的xml。我是否可以在使用的现有代码中进行一些修改来执行此操作。