sno*_*kin 1 xml xpath xml-namespaces
我有以下XML:
<?xml version="1.0" encoding="utf-8"?>
<ArrayOfAgence xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns="http://www.artos.co.il/">
<Agence>
<CodeAval>20008</CodeAval>
<CodeSource>ArtPO</CodeSource>
<LogicielSource>NTLIS</LogicielSource>
</Agence>
</ArrayOfAgence>
Run Code Online (Sandbox Code Playgroud)
我想获得CodeAval值,所以我试过:
ArrayOfAgence/Agence/CodeAval
Run Code Online (Sandbox Code Playgroud)
它显然没有用,因为这个XML有一个命名空间,所以,我该如何处理呢?
谢谢,
您在评论中提到您在XSLT中使用此XPath.在这种情况下,您需要添加带有输入文档默认命名空间前缀的命名空间定义,http://www.artos.co.il/然后在XPath表达式中使用此前缀.
命名空间定义的示例(它不需要在stylesheet元素中)
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns:artos="http://www.artos.co.il/">
Run Code Online (Sandbox Code Playgroud)
XPath表达式中前缀用法的示例
<xsl:value-of select="artos:ArrayOfAgence/artos:Agence/artos:CodeAval"/>
Run Code Online (Sandbox Code Playgroud)
请注意每个元素名称前面添加的前缀.