XDocument 找不到特定元素
XDocument not finding specific element
我有一个自定义函数,可以按名称获取元素。
public static XElement GetElement(this XElement element, string elementName)
{
if (!element.HasElements)
throw new HasNoElementsException("");
return element.Element(element.GetDefaultNamespace() + elementName) ??
throw new ElementNotFoundException("");
}
该功能正常工作,但我对此处示例的一个特定 xml 文件有疑问:
<?xml version="1.0" encoding="ISO-8859-1"?>
<elementA xmlns="http://www.link1.com.br">
<elementB>
...other elements
</elementB>
<elementC xmlns="http://www.link2.com.br" schemaLocation="http://www.link1.com.br file.xsd">
<elementD>
...other elements
</elementD>
</elementC>
</elementA>
当我尝试获取 xml 中的 elementB 时,它有效,但是当我尝试获取 elementC 时,抛出 ElementNotFoundException
。
抱歉我的英语不好,这里是巴西人! :)
public static XElement GetElement(this XElement element, string elementName)
{
if (!element.HasElements)
throw new HasNoElementsException("");
return element.Elements().FirstOrDefault(e => e.Name.LocalName.Equals(elementName)) ??
throw new ElementNotFoundException("");
}
这将是一个无需默认名称空间即可获取具有指定名称的第一个元素的解决方案。
我有一个自定义函数,可以按名称获取元素。
public static XElement GetElement(this XElement element, string elementName)
{
if (!element.HasElements)
throw new HasNoElementsException("");
return element.Element(element.GetDefaultNamespace() + elementName) ??
throw new ElementNotFoundException("");
}
该功能正常工作,但我对此处示例的一个特定 xml 文件有疑问:
<?xml version="1.0" encoding="ISO-8859-1"?>
<elementA xmlns="http://www.link1.com.br">
<elementB>
...other elements
</elementB>
<elementC xmlns="http://www.link2.com.br" schemaLocation="http://www.link1.com.br file.xsd">
<elementD>
...other elements
</elementD>
</elementC>
</elementA>
当我尝试获取 xml 中的 elementB 时,它有效,但是当我尝试获取 elementC 时,抛出 ElementNotFoundException
。
抱歉我的英语不好,这里是巴西人! :)
public static XElement GetElement(this XElement element, string elementName)
{
if (!element.HasElements)
throw new HasNoElementsException("");
return element.Elements().FirstOrDefault(e => e.Name.LocalName.Equals(elementName)) ??
throw new ElementNotFoundException("");
}
这将是一个无需默认名称空间即可获取具有指定名称的第一个元素的解决方案。