XElement C#:如何更改 XElement 的值?

XElement C#: How to change the value of XElement?

我有一个元素具有如下值:

<Element>
     <I id="I01" class="" /> Some Text
</Element>

如何保留“I”元素但更改元素标签中的“一些文本”?

您可以找到 Element 的右 XText 子节点并设置其值。 这是一个示例,假设它是您感兴趣的 first XText 节点:

using System;
using System.Linq;
using System.Xml.Linq;

class Test
{
    static void Main()
    {
        XElement element= XElement.Parse(@"
<Element>
    <I id=""I01"" class="""" /> Some Text
</Element>");
        element.DescendantNodes().OfType<XText>().First().Value = "New value";
        Console.WriteLine(element);
    }
}

输出:

<Element>
  <I id="I01" class="" />New value</Element>