如何使用 c# 为所有类似节点提供一致的值

本文关键字:节点 何使用 | 更新日期: 2023-09-27 18:30:59

我正在尝试为其中的所有相似节点插入一些一致的值。示例 XML 如下所示:

 <DrWatson>
  <Bugs Name="Bug.add --> Nirvananaaaaaaaaaaaaaaa">
    <Bug>
      <family>ESG</family>
      <product>Dr.Watson</product>
      <version>Xpress API</version>
      <productarea>1</productarea>
      <subarea>Blank</subarea>
      <title>Bug.AddNote#1 : Dr.Watson Framework by Aman</title>
      <description>test</description>
      <appLanguages>English~~Bug</appLanguages>
      <platforms>Win XP All~~English~~Bug</platforms>
      <state>Open</state>
      <status>NeedsReview</status>
      <reason>Blank</reason>
      <failureType>Unspecified</failureType>
      <Frequency>Unknown</Frequency>
      <severity>0</severity>
      <priority>0</priority>
      <methodFound>Blank</methodFound>
      <foundInBuild>1</foundInBuild>
      <dev>bansal</dev>
      <qe>sdawar</qe>
      <keyword>Blank</keyword>
      <duplicateId>Blank</duplicateId>
      <note></note>
    </Bug>
    <Bug>
      <family>ESG</family>
      <product>Dr.Watson</product>
      <version>Xpress API</version>
      <productarea>1</productarea>
      <subarea>Blank</subarea>
      <title>Bug.AddNote#1 : Dr.Watson Framework by Aman</title>
      <description>test</description>
      <appLanguages>English~~Bug</appLanguages>
      <platforms>Win XP All~~English~~Bug</platforms>
      <state>Open</state>
      <status>ToFix</status>
      <reason>Blank</reason>
      <failureType>Unspecified</failureType>
      <Frequency>Unknown</Frequency>
      <severity>0</severity>
      <priority>0</priority>
      <methodFound>Blank</methodFound>
      <foundInBuild>1</foundInBuild>
      <dev>bansal</dev>
      <qe>sdawar</qe>
      <keyword>Blank</keyword>
      <duplicateId>Blank</duplicateId>
      <note></note>
    </Bug>
  </Bugs>
</DrWatson>

我想替换<foundinBuild>标签的值。另外,请注意,我不想保存编辑,而是在运行时使用编辑后的 xml 以进一步在我的代码中。请提出一些解决方法。

如何使用 c# 为所有类似节点提供一致的值

试试这个

      var doc = new XmlDocument();
            doc.Load("Your XML Path");
            XmlElement root = doc.DocumentElement;
            XmlNodeList nodes = root.SelectNodes("Bugs/Bug");                
            foreach (XmlNode node in nodes)
            {                 
                    node["foundInBuild"].InnerText = "Your New Value";                   
            }