Linq to XML查询

时间:2019-02-05 03:29:12

标签: c# linq-to-xml

如果我有一个如下所示的xml文件,是否可以通过名称查找特定元素并修改其值?

例如,给定我的树结构,可以执行以下操作:

kubectl get nodes

1 个答案:

答案 0 :(得分:2)

您可以使用SetValue更新元素。就您而言,您还需要更新查询以获取“ v”元素。

XElement doc = XElement.Parse(xml);

var result = doc.Descendants("v");

foreach (XElement item in result)
{

    item.SetValue("New Value");
}
var newXml = doc.ToString();

输出

<root>
  <para>
    <r>
      <s>
                27
              </s>
      <t size="M">
                34
              </t>
      <u>
        <v>New Value</v>
      </u>
    </r>
    <r>
      <u>
        <v>New Value</v>
      </u>
    </r>
    <r>
      <t>bla</t>
    </r>
  </para>
</root>