Học XPath Axe Methods

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ử divid="grandparentid="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ử divid="grandparent, id="parentid="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 idclass 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ử divid="child1id="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ử divid="child1id="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ử divid="parent, id="child1id="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ử divid="following1id="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ử divid="sibling1id="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ử divid="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ử divid="preceding1id="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ử divid="sibling1id="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ử divid="current.