2012-02-24 73 views
0

我必须使用XQUERY解析XML文档。 XPath表达式是:使用XPath表达式的XML PARSING

(fn:node-name(.) eq fn:QName(#namespace,#name)) 

其中#namespace是指定为0​​元素的含量QName#name的命名空间是用于QName

本地名称请告诉我如何获取节点数据?

在此先感谢

回答

0

如果命名空间URI和节点名称是静态已知的,你可以只使用

declare namespace ns='#namespace'; 
//ns:#name 

否则,您选择的名称的所有节点和测试使用XPath谓词:

//*[fn:node-name(.) eq fn:QName(#namespace,#name)] 
0

你的意思是这样的吗?

declare namespace cf="cf"; 

let $xml := 
    <x:ml xmlns:x="x"><x:yz/></x:ml> 
let $cfqname := 
    <cf:qname><cf:namespace-uri>x</cf:namespace-uri><cf:local-name>yz</cf:local-name></cf:qname> 
let $qname := 
    fn:QName($cfqname/cf:namespace-uri, $cfqname/cf:local-name) 
return 
    $xml//*[node-name(.) eq $qname]