有没有更好的方法来完成像这样的事情:
private XElement GetSafeElem(XElement elem, string key)
{
XElement safeElem = elem.Element(key);
return safeElem ?? new XElement(key);
}
private string GetAttributeValue(XAttribute attrib)
{
return attrib == null ? "N/A" : attrib.Value;
}
var elem = GetSafeElem(elem, "hdhdhddh");
string foo = GetAttributeValue(e.Attribute("fkfkf"));
//attribute now has a fallback value
在解析XML文档时遇到元素/属性值找不到的情况?有些情况下,执行以下操作时可能无法找到元素:
string foo (string)elem.Element("fooelement").Attribute("fooattribute").Value
如果找不到元素/属性,就会出现对象引用错误。当尝试访问元素值时也是如此。
foo = elem.<fooelement1>.<fooelement2>.<fooelement3>.@fooattribute
,如果链中的任何节点未找到,则它将返回一个空字符串。 - GSerg