gpt4 book ai didi

c# - 如何在 C# 中使用 linq to xml 将属性设置为 XML 元素

转载 作者:数据小太阳 更新时间:2023-10-29 02:23:02 25 4
gpt4 key购买 nike

我有一个像这样的xml文件

    <Root>
<Steps>
<Step Test="SampleTestOne" Status="Fail" />
<Step Test="SampleTestTwo" Status="Fail" />
</Steps>
</Root>

我需要更改或覆盖 Step 元素中“Status”的属性值。

现在我为此使用 XmlDocument喜欢

        XmlDocument XDoc = new XmlDocument();
XDoc.Load(Application.StartupPath + "\\Sample.xml");
XmlNodeList NodeList = XDoc.SelectNodes("//Steps/Step");
foreach (XmlNode Node in NodeList)
{
XmlElement Elem = (XmlElement)Node;
String sTemp = Elem.GetAttribute("Test");
if (sTemp == "SampleTestOne")
Elem.SetAttribute("Status", "Pass");

}

我需要搜索元素并更新状态

有什么方法可以使用 XDocumentin c# 来做到这一点

提前致谢

最佳答案

string filename = @"C:\Temp\demo.xml";
XDocument document = XDocument.Load(filename);

var stepOnes = document.Descendants("Step").Where(e => e.Attribute("Test").Value == "SampleTestOne");
foreach (XElement element in stepOnes)
{
if (element.Attribute("Status") != null)
element.Attribute("Status").Value = "Pass";
else
element.Add(new XAttribute("Status", "Pass"));
}

document.Save(filename);

关于c# - 如何在 C# 中使用 linq to xml 将属性设置为 XML 元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3110848/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com