还有一些问题是如何使用Xpath查询具有默认名称空间的XML文档。答案是使用名称空间管理器为默认名称空间创建别名,并在xpath中使用该别名。
但是,如果事先不知道默认名称空间的URI,该怎么办呢?如何从XML文档中找到它?
发布于 2011-10-20 16:51:24
var doc = XDocument.Parse(myXml);
XNamespace ns = doc.Root.GetDefaultNamespace();发布于 2014-10-17 18:03:59
如果您使用的是XmlDocument,您可以通过检查根元素的NamespaceURI来获取默认名称空间:
var document = new XmlDocument();
document.LoadXml("<root xmlns='http://java.sun.com/xml/ns/j2ee'></root>");
var defaultNamespace = document.DocumentElement.NamespaceURI;
Assert.IsTrue(defaultNamespace == "http://java.sun.com/xml/ns/j2ee");发布于 2011-10-20 16:53:28
您可以尝试使用XmlNamespaceManager.DefaultNamespace获取它。
http://msdn.microsoft.com/en-us/library/system.xml.xmlnamespacemanager.defaultnamespace.aspx
https://stackoverflow.com/questions/7833294
复制相似问题