qshinoの日記

Powershell関係と徒然なこと

XPath

XPath

 

ノードの種類/7種類

ルートノード
要素ノード
テキストノード
属性ノード
名前空間ノード
処理命令ノード
コメントノード

 

完全構文

/軸方向::名前空間:ノードテスト[述語]/〜

 

軸方向/13種類

ロケーションステップの軸の記述は、XML文書の木構造において、方向を指定する。XPath仕様で定義されている13種類の軸(#完全な構文)を示す。

child
コンテクストノードの子ノード
descendant
コンテクストノードの子孫ノード
parent
コンテクストノードの親ノード
ancestor
コンテクストノードの祖先ノード
following-sibling
コンテクストノードの兄弟ノードのうち後方のノード
preceding-sibling
コンテクストノードの兄弟ノードのうち前方のノード
following
XML文書の文書順でコンテクストノードより後方にある全てのノード
preceding
XML文書の文書順でコンテクストノードより前方にある全てのノード
attribute
コンテクストノードが要素の場合、その属性ノード
namespace
コンテクストノードが要素の場合、その名前空間ノード
self
コンテクストノード自身
descendant-or-self
コンテクストノード自身とコンテクストノードの子孫ノード
ancestor-or-self
コンテクストノード自身とコンテクストノードの祖先ノード

 

名前空間

 

省略構文

要素 /<要素名>

属性 @<属性名>

self::node()   .

parent::node()    ..

descendant-or-self::node()  //

 

ノードテスト例

comment()

text()

processing-instruction('名前')

 

powershellなら、

 

[xml]$doc= gc "file.xml"

$nodes = $doc.selectnodes("xpath事業")

$nodes処理