📜  c# xml 检查属性是否存在 - C# (1)

📅  最后修改于: 2023-12-03 14:59:41.198000             🧑  作者: Mango

C# XML 检查属性是否存在

在 C# 中读取 XML 文件中的属性时,有时需要检查属性是否存在。本文将介绍如何在 C# 中检查属性是否存在。

使用 LINQ to XML

在 C# 中,可以使用 LINQ to XML 查询 XML 文档。通过使用 LINQ to XML,可以在不使用 XPath 表达式的情况下轻松地浏览和查询 XML。

以下是一个示例 XML 文档:

<?xml version="1.0" encoding="UTF-8"?>
<root>
  <element attribute1="value1" attribute2="value2"/>
</root>

以下是使用 LINQ to XML 检查 XML 属性是否存在的示例:

using System.Xml.Linq;

public static bool HasAttribute(XElement element, string attributeName)
{
    return element.Attribute(attributeName) != null;
}

// Usage:
XDocument document = XDocument.Load("example.xml");
XElement rootElement = document.Root;
XElement element = rootElement.Element("element");

bool hasAttribute1 = HasAttribute(element, "attribute1"); // true
bool hasAttribute3 = HasAttribute(element, "attribute3"); // false
使用 XmlDocument

还可以使用 XmlDocument 类来检查 XML 属性是否存在。以下是一个使用 XmlDocument 的示例:

using System.Xml;

public static bool HasAttribute(XmlNode node, string attributeName)
{
    XmlAttribute attribute = node.Attributes[attributeName];
    return attribute != null;
}

// Usage:
XmlDocument document = new XmlDocument();
document.Load("example.xml");
XmlNode rootElement = document.DocumentElement;
XmlNode element = rootElement.SelectSingleNode("element");

bool hasAttribute1 = HasAttribute(element, "attribute1"); // true
bool hasAttribute3 = HasAttribute(element, "attribute3"); // false
结论

本文介绍了如何在 C# 中检查 XML 属性是否存在。通过使用 LINQ to XML 或 XmlDocument,可以轻松地浏览和查询 XML 文档,以及检查 XML 属性是否存在。