[英]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("");
}
這將是一個解決方案,它無需指定默認名稱空間即可獲取具有指定名稱的第一個元素。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.