C# 如何从XElement对象中提取XML名称空间前缀?
例如,我从XDocument对象中拉出了一个XElement对象C# 如何从XElement对象中提取XML名称空间前缀?,c#,.net,xml,xml-parsing,xml-namespaces,C#,.net,Xml,Xml Parsing,Xml Namespaces,例如,我从XDocument对象中拉出了一个XElement对象 XDocument doc = XDocument.Parse(@"<billpg:MyRoot xmlns:billpg=""http://billpg.com/rutabaga"" />"); XElement elem = doc.Root; /* Or any element inside the document. */ XDocument doc=XDocument.Parse(@'); XElement
XDocument doc = XDocument.Parse(@"<billpg:MyRoot xmlns:billpg=""http://billpg.com/rutabaga"" />");
XElement elem = doc.Root; /* Or any element inside the document. */
XDocument doc=XDocument.Parse(@');
XElement元素=文档根;/*或文档中的任何元素*/
如何从该XElement对象中提取XML前缀?(在上述示例中,
elem
为“billpg”。)
我可以从
elem.Name.namespace.NamespaceName
中获取完整的URL名称空间,但我正试图提取简短的“billpg”部分。我还将注意到,elem.ToString()
返回一个字符串,该字符串在正确的位置包含“billpg”,该字符串可能是正则表达式。虽然这会起作用,但实际上并不符合使用XML库的精神。使用GetPrefixOfNamespace()
方法来实现这一点:
var prefix=elem.GetPrefixOfNamespace(elem.Name.Namespace)代码>
有关这方面的更多信息,请参见文档:
我花了很长时间在谷歌上寻找答案,它就在我的盲点上。非常感谢。