Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/317.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何从XElement对象中提取XML名称空间前缀?_C#_.net_Xml_Xml Parsing_Xml Namespaces - Fatal编程技术网

C# 如何从XElement对象中提取XML名称空间前缀?

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对象中拉出了一个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)

有关这方面的更多信息,请参见文档:

我花了很长时间在谷歌上寻找答案,它就在我的盲点上。非常感谢。