====== XML - XPath ====== ===== ノードセット関数 ===== ==== position ==== ノードのインデックス番号を返す === Example === Elementノード内の1番目のChildノードを返す //Element/Child[position()=1] ==== last ==== 最後のノードのposition値を返す === Example === Elementノード内の最後の子要素ノードを返す /Element/*[position()=last()]" ==== count ==== ノード数を返す === Example === 子要素が無いElementノードを返す //Element[count(./*)=0] ==== name ==== タグ名を返す === Example === タグ名がPriceのノードを返す //*[name()='Price']" ===== 文字列関数 ===== ==== string ==== 文字列値を返す === Example === number属性の値が1のノードを返す //*[string(@number)='1']" ==== contains ==== 指定した文字列を含む要素を返す === Example === name属性の値にaを含むElementノードを返す //Element[contains(@name,'a')] ==== start-width ==== 指定した文字列ではじまる要素を返す === Example1 === Elementの値がcontentsではじまるElementノードを返す //Element[starts-with(.,'contents')] === Example2 === エレメント名がtext1_ではじまるノードを返す //*[starts-with(name(),'text1_')] === Example3 === name属性の値がsection1ではじまるElementノードを返す //Element[starts-with(@name,'section1')] === Example4 === name属性の値がsection1かsection2ではじまるElementノードを返す //Element[starts-with(@name,'section1') or starts-with(@name,'section2')] ==== normalize-space ==== 要素内のテキストを空白/改行を取り除いて返す === Example === idが1の要素内のテキストを空白/改行を取り除いて返す normalize-space(id('1')) ==== string-length ==== 要素内のテキスト長を返す === Example1 === idが1の要素内のテキスト長を返す string-length(id('1')) === Example2 === 空白/改行以外のテキストを100文字以上含むElementノードを返す //Element[string-length(normalize-space()) > 100]