如何使用 c# 替换 xml 中的标记
本文关键字:xml 何使用 替换 | 更新日期: 2023-09-27 18:30:48
我想替换 C# 中的 XML 标记值。下面是一些示例 XML:
<Dr.Watson>
<Bugs>
<Bug Name="Bug.add --> AAAAAAAAAAAA">
<criteria>
<includeFilterSets>
<filterSet>
<filter>
<filterName>PRODUCT_NAME</filterName>
<operator>
<name>Equals</name>
</operator>
<value>Dr.Watson</value>
</filter>
</filterSet>
</includeFilterSets>
<grouping>
<groupBy>
<name>STATUS</name>
</groupBy>
</grouping>
<caseSensitive>false</caseSensitive>
<entityToSearch>
<name>BUG</name>
</entityToSearch>
</criteria>
</Bug>
</Bugs>
</Dr.Watson>
我想替换标签<name>STATUS</name>
<groupBy>
标签。
这是我现有的代码:
XDocument xdoc1 = XDocument.Load(FilePath_EXPRESS_API_InputFile);
XElement one = xdoc1.Descendants("/Dr.watson/Bugs/Bug/grouping/groupBy").First();
one.SetAttributeValue("name", "ID"); xdoc1.Save(FilePath_EXPRESS_API_InputFile);
我做错了什么?
首先,<name>STATUS</name>
不是一个属性,它是一个元素。因此,应使用 SetValue 方法来更改其值。
其次,不能Descendants
方法中使用 XPath。有关替代方案,请参阅此问题。