XPath 覚書 その1


任意の名前空間下にあるノードを取得したい場合、
対象の名前空間の接頭辞をつけないといけない


■例1 名前空間のないノード[item]を取得
 XPath = //item


■例2A 名前空間http://hoge.com の ノード[item]を取得する
 XPath = //*[name() = 'item']


■例2B
 extend-namespace-context を利用して、hogeという接頭辞を設定
 ({extend-namespace-context hoge = "http://hoge.com"})
 XPath = //hoge:item


CurlのWSDKで、XMLをハンドリングする際に結構使うと思います。
XDMElement から children で取得するなら問題ないんですけどね。