簡體   English   中英

如何從 XElement object 中提取 XML 命名空間前綴?

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM