gpt4 book ai didi

c# - 如何使用 C# 检查 XML 中具有特定属性值的元素

转载 作者:太空宇宙 更新时间:2023-11-03 11:21:36 25 4
gpt4 key购买 nike

我的 XML 文件如下

<?xml version="1.0" encoding="utf-8"?>
<BallList xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<Brand name="brand1">
<BallName>brand1 ball</BallName>
</Brand
<Brand name="brand2">
<BallName>brand2 ball</BallName>
</Brand>
</BallList>

我需要检查具有名称属性的特定品牌,如果它不存在,则应使用 C# Linq 将其添加到 xml 文件中。任何人都可以帮助我。

最佳答案

您可以使用 Linq To XMl

System.Xml.Linq

var f = XDocument.Load("c:\\00.xml");

var myBrand = f.Root.Elements("Brand")
.Where(x => x.Attribute("name").Value == "MyBrand").FirstOrDefault();

if (myBrand == null)
{
// insert here
f.Root.Add(
new XElement("Brand", new XAttribute("name", "MyBrand"),
new XElement("BallName", "MyBrand Ballname"))
);
f.Save("c:\\00.xml");
}

这段代码产生了这个结果

<?xml version="1.0" encoding="utf-8"?>
<BallList xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<Brand name="brand1">
<BallName>brand1 ball</BallName>
</Brand>
<Brand name="brand2">
<BallName>brand2 ball</BallName>
</Brand>
<Brand name="MyBrand">
<BallName>MyBrand Ballname</BallName>
</Brand>
</BallList>

关于c# - 如何使用 C# 检查 XML 中具有特定属性值的元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10802725/

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