[英]How can I pull out the XML namespace prefix from an XElement object?
例如,我有一個從 XDocument object 中拉出的 XElement object
XDocument doc = XDocument.Parse(@"<billpg:MyRoot xmlns:billpg=""http://billpg.com/rutabaga"" />");
XElement elem = doc.Root; /* Or any element inside the document. */
如何從此 XElement object 中提取 XML 前綴?
(在上面的例子中, elem
是“billpg”。)
我可以從elem.Name.Namespace.NamespaceName
獲得完整的 URL 命名空間,但我試圖拉出簡短的“billpg”部分。 我還會注意到elem.ToString()
在正確的位置返回一個包含“billpg”的字符串,這可能是正則表達式。 雖然這可行,但它並不真正符合使用 XML 庫的精神。
使用GetPrefixOfNamespace()
方法來實現:
var prefix = elem.GetPrefixOfNamespace(elem.Name.Namespace);
有關這方面的更多信息,您可以在文檔中找到: https://docs.microsoft.com/en-us/dotnet/api/system.xml.linq.getxelement.getxelement。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.