2012-02-24 77 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]