如何从节点xml获取属性

时间:2010-11-19 10:32:59

标签: c# .net linq-to-xml

就像node.Attributes [“name”]。InnerText是好方法吗?

2 个答案:

答案 0 :(得分:3)

您应该使用Value类的XAttribute属性:

string attrValue = element.Attribute("name").Value;

请注意,Attributes()方法会返回您必须迭代的IEnumerable<XAttribute>,而不是XAttribute实例。而且,那些是方法而不是索引属性:你需要使用括号而不是方括号来调用它们。

XAttribute也不支持InnerText属性,因此您必须使用Value

答案 1 :(得分:1)

您可以使用此选项,以便在属性为空时捕获异常

string attrValue = node.Attributes["name"] == null ? string.Empty : node.Attributes["name"].Value;