我有以下XML文档:
<ABC: EXAMPLE xmlns: ABC = "www.xyz.com" targetNamespace = "www.pqr.com">
//BODY
</ABC:EXAMPLE>
OR
<ORDER targetNamespace = "www.pqr.com">
BODY
</ORDER>
我尝试过此-
XmlDocument xmlDoc = new XmlDocument();
xmlDoc.LoadXml(xmlstring);
xmlNamespace = xmlDoc.DocumentElement.NamespaceURI;
但这只会分别从上述两个文档中返回我www.xyz.com
和null
。
如何获取targetNamespace
?
答案 0 :(得分:1)
targetNamespace
是XML元素ABC:EXAMPLE
的属性,而不是标准XML,因此XmlDocument上没有直接供您获取的属性。您需要使用Attributes
属性进行访问。像这样:
XmlDocument xmlDoc = new XmlDocument();
xmlDoc.LoadXml(xmlstring);
// This is the namespace of the element 'ABC:EXAMPLE', so "www.xyz.com"
xmlNamespace = xmlDoc.DocumentElement.NamespaceURI;
// This is the value of the attribute 'targetNamespace', so "www.pqr.com"
xmlTargetNamespace = xmlDoc.DocumentElement.Attributes["targetNamespace"].Value;
您可以在任何XmlElement上使用Attributes属性来访问其属性,可以在XmlNode上使用命名索引和Value属性来访问值