c# 如何从 XML 文档中获取目标命名空间



我有以下XML文档:

<ABC: EXAMPLE xmlns: ABC = "www.xyz.com" targetNamespace = "www.pqr.com">
//BODY
</ABC:EXAMPLE>

<ORDER targetNamespace = "www.pqr.com">
BODY
</ORDER>

我试过了——

XmlDocument xmlDoc = new XmlDocument();
xmlDoc.LoadXml(xmlstring);
xmlNamespace = xmlDoc.DocumentElement.NamespaceURI;

但这只会让我分别从上述两份文件中返回www.xyz.comnull

如何获取targetNamespace

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 上的属性来访问其属性,可以使用 XmlNode 上的命名索引和 Value 属性来访问值

相关内容

  • 没有找到相关文章

最新更新