C# 怎么获取xml节点的属性值

答案:C#中获取xml节点属性值常用XmlDocument和XDocument。1. XmlDocument通过SelectSinglenode定位节点,用Attributes[“属性名”]获取值,适用于旧项目;2. XDocument使用Attribute(“属性名”)?.Value语法更简洁,推荐现代项目使用;3. 建议用?.操作符避免空引用异常,属性存在时取值,不存在返回NULL;4. 可从文件加载或字符串解析XML,根据需求选择合适方法。

C# 怎么获取xml节点的属性值

在 C# 中获取 XML 节点的属性值,常用的方法是使用 XmlDocumentXDocumentlinq to XML)。下面介绍两种方式的具体用法。

使用 XmlDocument 获取属性值

适用于较老的 .net Framework 项目,操作方式类似 dom

步骤如下:

  • 加载 XML 文档
  • 通过 SelectSingleNode 或 GetElementsByTagName 定位节点
  • 使用 Attributes 属性获取指定属性的值

示例代码:

using System; using System.Xml; <p>XmlDocument doc = new XmlDocument(); doc.Load("test.xml"); // 或 LoadXml("<book id='101' price='25.5'>C# Guide</book>");</p><p>XmlNode node = doc.SelectSingleNode("/book"); if (node != null && node.Attributes["id"] != null) { string id = node.Attributes["id"].Value; string price = node.Attributes["price"]?.Value; // 可空属性建议用 ? Console.WriteLine($"ID: {id}, Price: {price}"); } 

使用 XDocument (LINQ to XML) 获取属性值

推荐用于现代 C# 项目,语法更简洁,支持 LINQ 查询。

使用 XElement.Attribute(“属性名”).Value 或更安全的 Attribute(“属性名”)?.Value

C# 怎么获取xml节点的属性值

C知道

CSDN推出的一款AI技术问答工具

C# 怎么获取xml节点的属性值45

查看详情 C# 怎么获取xml节点的属性值

示例代码:

using System; using System.Xml.Linq; <p>XDocument xDoc = XDocument.Load("test.xml"); // 或 Parse 字符串 // 示例 XML: <book id="101" price="25.5">C# Guide</book></p><p>XElement book = xDoc.Root; string id = book.Attribute("id")?.Value; string price = book.Attribute("price")?.Value;</p><p>if (!string.IsNullOrEmpty(id)) { Console.WriteLine($"ID: {id}, Price: {price}"); } 

注意事项

  • 访问属性前务必判断属性是否存在,避免 NullReferenceException
  • 使用 ?. 操作符可以安全取值,属性不存在时返回 null
  • 如果属性是必需的,可使用 Attribute(“name”).Value,但要确保一定存在,否则抛异常
  • 支持从字符串解析 XML,也可直接读文件

基本上就这些,根据项目选择合适的方式。XDocument 更现代简洁,XmlDocument 兼容性好。

上一篇
下一篇
text=ZqhQzanResources