从xml文件获取名称空间C#
问题描述:
我浏览过类似标题的问题,但似乎无法找到我正在寻找的内容,如果有人发现类似的问题,请将我指向该线程。以下是我的问题:从xml文件获取名称空间C#
我有开始的像这样的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;
虽然不会使一大堆的道理,说实话 - 我真的不知道你是什么之后。
感谢我所用的LINQ to XML的方式链接 –