从xml文件中获取命名空间C#

我用类似的标题浏览了这些问题,但似乎无法找到我正在寻找的内容,如果有人发现类似的问题,请指点我的话。这是我的问题:

我有一个xsd文件,其开头像这样:

我的xsd文件的开头 我需要知道如何以编程方式访问上述文件的命名空间值。

另外我的解决方案需要是通用的,所以我不能简单地搜索xmlns:xs因为命名空间的确切名称可能有不同的名称

我已经尝试了以下内容,但是在调试时, elementNamespace变量的值为空白""

 XElement elemet = XElement.Load(@"D:\xsd\Response.xsd"); string elementNamespace = elemet.GetDefaultNamespace().NamespaceName; System.Diagnostics.Debug.WriteLine("Namespace " + elementNamespace); 

Scott Hanselman有一篇关于如何获取命名空间的文章:

http://www.hanselman.com/blog/GetNamespacesFromAnXMLDocumentWithXPathDocumentAndLINQToXML.aspx

那是因为默认命名空间是空白/未指定。 我你想要GetNamespaceOfPrefix

 string elementNamespace = elemet.GetNamespaceOfPrefix("xs").NamespaceName; 

虽然说实话并不是很有意义 – 但我不确定你追求的是什么。