C# 如何使用C将child附加到xml中#
我想通过在现有XML中添加以下提到的标记来修改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
<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。我是否可以在使用的现有代码中进行一些修改来执行此操作。