อักษรยนต์ XPath (Axes)
เอกสารตัวอย่าง XML
เราจะใช้เอกสาร XML ในตัวอย่างด้านล่างนี้:
<?xml version="1.0" encoding="ISO-8859-1"?> <bookstore><title lang="eng">Harry Potter</title> <price>29.99</price> <price>39.95</price> <book> <title lang="eng">Learning XML</title> <price>39.95</price> </book>
</bookstore>
XPath ตัวย่อ
ตัวย่อสามารถกำหนดชุดตัวเลือกที่อยู่ในตำแหน่งเชิงสัมพันธ์กับตัวเลือกปัจจุบัน | ผลลัพธ์ |
---|---|
ชื่อตัวย่อ | ancestor |
เลือกทุกๆตัวเลือกที่เป็นพ่อของตัวเลือกปัจจุบัน | ancestor-or-self |
เลือกทุกๆตัวเลือกที่เป็นพ่อของตัวเลือกปัจจุบัน และตัวเลือกปัจจุบันเอง | เลือกทุกๆคุณสมบัติของตัวเลือกปัจจุบัน |
attribute | เลือกทุกๆลูกของตัวเลือกปัจจุบันที่เป็นองค์ประกอบเอกสาร |
child | descendant |
เลือกทุกๆตัวเลือกที่เป็นหลากหลายลูกของตัวเลือกปัจจุบัน | descendant-or-self |
เลือกทุกๆตัวเลือกที่เป็นหลากหลายหลังทุกๆตัวเลือกลูกของตัวเลือกปัจจุบัน และตัวเลือกปัจจุบันเอง | following |
เลือกทุกๆตัวเลือกที่อยู่หลังตัวเลือกปัจจุบันในเอกสาร | namespace |
เลือกทุกๆตัวเลือกที่อยู่ในชื่อชั้นแห่งตัวเลือกปัจจุบัน | parent |
เลือกตัวเลือกพ่อของตัวเลือกปัจจุบัน | preceding |
เลือกทุกๆตัวเลือกที่อยู่ก่อนตัวเลือกปัจจุบันในเอกสาร | preceding-sibling |
เลือกทุกๆตัวเลือกที่อยู่ก่อนตัวเลือกปัจจุบันที่เป็นพี่น้อง | self |
เลือกตัวเลือกปัจจุบัน
แบบร่างหนทางตำแหน่ง
หนทางตำแหน่งสามารถเป็นหนทางตำแหน่งที่สุด หรือหนทางตำแหน่งเชิงสัมพันธ์
หนทางตำแหน่งสัมพันธ์สามารถเป็นหนทางตำแหน่งที่สุดและหนทางตำแหน่งเชิงสัมพันธ์ ในทั้งสองกรณี หนทางตำแหน่งรวมตัวเลือกหนึ่งหรือหลายตัว และแต่ละตัวเลือกถูกแบ่งด้วยเส้นใต้:
/step/step/...
หนทางตำแหน่งเชิงสัมพันธ์:
step/step/...
แต่ละปุ่มนับตามตัวเลือกในชุดตัวเลือกปัจจุบัน
ปุ่ม (step) รวมถึง:
- ตัวย่อ (axis)
- กำหนดความสัมพันธ์ต้นกำเนิดของตัวเลือกที่เลือกกับตัวเลือกปัจจุบัน
- ตัวย่อตัวเลือก (node-test)
- รับรู้ตัวเลือกภายในกระแสตัวย่อ
- กรณีศัพท์ 0 หรือมากกว่า
- ปรับเลิดอย่างละเอียดของชุดตัวเลือกที่เลือกได้
ระบบทางภาษา:
ชื่อตัวย่อแบบตัวอย่าง::ตัวเลือก[กรณี]
ตัวอย่าง
ตัวอย่าง | ผลลัพธ์ |
---|---|
child::book | เลือกทุกๆลูกของตัวเลือกปัจจุบันที่เป็นตัวเลือก book |
attribute::lang | เลือกคุณสมบัติ lang ของตัวเลือกปัจจุบัน |
child::* | เลือกทุกๆลูกของตัวเลือกปัจจุบันที่เป็นองค์ประกอบเอกสาร |
attribute::* | เลือกทุกๆคุณสมบัติของตัวเลือกปัจจุบัน |
child::text() | เลือกทุกๆลูกของตัวเลือกปัจจุบันที่เป็นตัวเลือกข้อความ |
child::node() | เลือกทุกๆลูกของตัวเลือกปัจจุบัน |
descendant::book | 選取當前節點的所有 book後代。 |
ancestor::book | 選擇當前節點的所有 book先輩。 |
ancestor-or-self::book | 選取當前節點的所有 book先輩以及當前節點(如果此節點是 book 節點) |
child::*/child::price | 選取當前節點的所有 price孫節點。 |