Dưới đây là các phương thức axe trong XPath cùng với ví dụ và đáp án:
| AxisName | Kết quả | Ví dụ | Đáp án |
|---|---|---|---|
| ancestor | Chọn tất cả tổ tiên (cha mẹ, ông bà, ...) của nút hiện tại |
XPath: //div[@id='child']/ancestor::div
HTML: <div id="grandparent">
<div id="parent">
<div id="child">Nội dung</div>
</div>
</div>
|
Chọn các phần tử div có id="grandparent và id="parent. |
| ancestor-or-self | Chọn tất cả tổ tiên và chính nút hiện tại |
XPath: //div[@id='child']/ancestor-or-self::div
HTML: <div id="grandparent">
<div id="parent">
<div id="child">Nội dung</div>
</div>
</div>
|
Chọn các phần tử div có id="grandparent, id="parent và id="child. |
| attribute | Chọn tất cả thuộc tính của nút hiện tại |
XPath: //div[@id='child']/attribute::*
HTML: <div id="child" class="example">Nội dung</div> |
Chọn các thuộc tính id và class của div. |
| child | Chọn tất cả con của nút hiện tại |
XPath: //div[@id='parent']/child::*
HTML: <div id="parent">
<div id="child1">Nội dung 1</div>
<div id="child2">Nội dung 2</div>
</div>
|
Chọn các phần tử div có id="child1 và id="child2. |
| descendant | Chọn tất cả hậu duệ của nút hiện tại |
XPath: //div[@id='parent']/descendant::div
HTML: <div id="parent">
<div id="child1">Nội dung 1</div>
<div id="child2">Nội dung 2</div>
</div>
|
Chọn các phần tử div có id="child1 và id="child2. |
| descendant-or-self | Chọn tất cả hậu duệ và chính nút hiện tại |
XPath: //div[@id='parent']/descendant-or-self::div
HTML: <div id="parent">
<div id="child1">Nội dung 1</div>
<div id="child2">Nội dung 2</div>
</div>
|
Chọn các phần tử div có id="parent, id="child1 và id="child2. |
| following | Chọn tất cả mọi thứ trong tài liệu sau thẻ đóng của nút hiện tại |
XPath: //div[@id='current']/following::div
HTML: <div id="current">Nội dung hiện tại</div> <div id="following1">Nội dung sau 1</div> <div id="following2">Nội dung sau 2</div> |
Chọn các phần tử div có id="following1 và id="following2. |
| following-sibling | Chọn tất cả anh chị em sau nút hiện tại |
XPath: //div[@id='current']/following-sibling::div
HTML: <div id="current">Nội dung hiện tại</div> <div id="sibling1">Anh chị em sau 1</div> <div id="sibling2">Anh chị em sau 2</div> |
Chọn các phần tử div có id="sibling1 và id="sibling2. |
| namespace | Chọn tất cả các nút namespace của nút hiện tại |
XPath: //element/namespace::*
HTML: <foo xmlns:bar="http://example.com">Nội dung</foo> |
Chọn nút namespace xmlns:bar="http://example.com". |
| parent | Chọn cha mẹ của nút hiện tại |
XPath: //div[@id='child']/parent::div
HTML: <div id="parent">
<div id="child">Nội dung</div>
</div>
|
Chọn phần tử div có id="parent. |
| preceding | Chọn tất cả các nút xuất hiện trước nút hiện tại trong tài liệu, trừ tổ tiên, các nút thuộc tính và các nút namespace |
XPath: //div[@id='current']/preceding::div
HTML: <div id="preceding1">Trước 1</div> <div id="preceding2">Trước 2</div> <div id="current">Nội dung hiện tại</div> |
Chọn các phần tử div có id="preceding1 và id="preceding2. |
| preceding-sibling | Chọn tất cả anh chị em trước nút hiện tại |
XPath: //div[@id='current']/preceding-sibling::div
HTML: <div id="sibling1">Anh chị em trước 1</div> <div id="sibling2">Anh chị em trước 2</div> <div id="current">Nội dung hiện tại</div> |
Chọn các phần tử div có id="sibling1 và id="sibling2. |
| self | Chọn chính nút hiện tại |
XPath: //div[@id='current']/self::div
HTML: <div id="current">Nội dung hiện tại</div> |
Chọn phần tử div có id="current. |