我的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/