我用相似的标题浏览了这些问题,但似乎无法找到我正在寻找的内容,如果有人发现类似的问题,请指点我的话.这是我的问题:
我有一个xsd文件,其开头是这样的:
我需要知道如何以编程方式访问上述文件的命名空间值.
另外我的解决方案需要是通用的,所以我不能简单地搜索,xmlns:xs因为命名空间的确切名称可能有不同的名称
我尝试了以下内容,但在调试elementNamespace变量值时为空白"":
XElement elemet = XElement.Load(@"D:\xsd\Response.xsd");
string elementNamespace = elemet.GetDefaultNamespace().NamespaceName;
System.Diagnostics.Debug.WriteLine("Namespace " + elementNamespace);
Run Code Online (Sandbox Code Playgroud)
fli*_*art 16
Scott Hanselman有一篇关于如何获取命名空间的文章:
http://www.hanselman.com/blog/GetNamespacesFromAnXMLDocumentWithXPathDocumentAndLINQToXML.aspx
那是因为默认命名空间是空白/未指定.我想你想GetNamespaceOfPrefix:
string elementNamespace = elemet.GetNamespaceOfPrefix("xs").NamespaceName;
Run Code Online (Sandbox Code Playgroud)
虽然说实话并不是很有意义 - 但我不确定你追求的是什么.