将LINQ中的Attribute值设置为XML

Moh*_*mar 3 xml linq linq-to-xml

我是LINQ to XML的新手.我有两个变量12,我想在XML中的属性中设置这些变量值.

 static void Main(string[] args)
    {
        string one = "first";
        string two = "Second";

        XDocument doc = XDocument.Load(test.xml);

    }
Run Code Online (Sandbox Code Playgroud)

XML

    <Root>
  <Details XIndex="One" Index="">
    <abc></abc>
  </Details>
  <Details XIndex="Two" Index="">
    <xyz></xyz>
  </Details>
</Root>
Run Code Online (Sandbox Code Playgroud)

现在请告诉我如何在详细信息节点的Index属性中设置一个和两个变量值.

示例 - 我想要低于输出.

<Root>
  <Details XIndex="One" Index="First">
    <abc></abc>
  </Details>
  <Details XIndex="Two" Index="Second">
    <xyz></xyz>
  </Details>
</Root>
Run Code Online (Sandbox Code Playgroud)

请告诉我.

提前致谢.

Mar*_*ade 5

您可以使用以下XElement.SetAttributeValue()方法:

var element = doc.Elements("Details")
                 .Single(x=>x.Attribute("XIndex").Value=="One");

element.SetAttributeValue("Index", "First");
Run Code Online (Sandbox Code Playgroud)