1、親:: *
<a>
<b></b>
</b>
路径表达式://b/parent::a 表示获得b节点的父节点元素a节点
2、祖先:: *
<a>
<b>
<c></c>
</b>
</a>
パス式:// c / ancestor :: *は、cノードのaノードとbノードの祖先要素を取得することを意味します
// c / ancestor :: aは、cノードのノードである祖先要素を取得することを意味します
3、子:: *
<a>
<b>
<c></c>
</b>
<d></d>
</a>
パス式:// a / child :: *は、ノードaの子ノード要素bノードとdノードを取得することを意味します
// b / child :: cは、ノードbの子ノード要素cノードを取得することを意味します
4、子孫:: *
<a>
<b>
<c></c>
</b>
<d></d>
</a>
パス式:// a / descendant :: *は、ノードのすべての子孫要素を取得することを意味します。ただし、
// b / descendant :: cは、ノードbの子孫要素cノードを取得することを意味します
5、self :: *
ノード自体を取得します。これは例ではありません
6、following :: *
<a>
<c>
<e></e>
<f></f>
</c>
<d></d>
</a>
<b></b>
パス式:// a / follow :: *は、ノードの後のすべての要素を取得することを意味します。現時点では、bノードのみです。
// a / c / follow :: *は、aノードの下のcノードの後のすべての要素を取得してから、dノードとbノードを取得することを意味します
// a / c / e / follow :: *は、ノード-> cノード-> eノードの後のすべての要素を取得することを意味します。この時点で、fノード、dノード、およびbノードを取得します。
7、preceding :: *
ノードの前にノードを取得します。これは、6つの使用法の正反対です。
8、following-sibling :: *
次の兄弟ノードを取得します
9、preceding-sibling :: *
次の兄弟ノードを取得します
10、祖先または自己:: *
このノードとすべての祖先ノードを取得します
11、子孫または自己:: *
このノードとすべての子孫ノードを取得します