如何解决C#LINQ如何确定具有特定属性的XElement
我想实现此功能: 确定XML文件是否具有带有特定属性的XElement。 这是示例XML代码:
<root>
<pou objectId="name">
</pou>
<pou objectId="value">
</pou>
<pou objectId="address">
</pou>
</root>
我想确定XML文件是否具有带有属性ObjectId“ name”的特定XElement“ pou”。
以下是我在C#中使用后代的代码
XDocument xdoc = XDocument.Load(@"C:\Users\jsc\Desktop\TestForInherit.xml");
XDocument xNew = new XDocument();
xNew.Add(new XElement("root"));
if (xdoc.Descendants("pou").Where(x=> (string)x.Attribute("objectId") =="name").Any()==true)
{
xNew.Add(new XElement("pou",new XAttribute("objectId","name")));
}
xNew.Save(@"C:\Users\jsc\Desktop\TestForInheritNew.xml");
如果xml文件具有带有特定属性值的XElement,则将XElement添加到新的XML文件中。
但是不幸的是,它不起作用。谁能给我一些建议。
解决方法
请尝试以下语法检查是否存在具有特定名称的属性:
xdoc.Descendants("pou").Where(x=> x.Attribute("objectId") != null)
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。