XPath Axes (Axis)
- หน้าก่อนหน้า XPath การใช้คำสั่ง
- หน้าต่อไป XPath Operator
เอกสารตัวอย่าง XML
เราจะใช้เอกสาร XML ในตัวอย่างด้านล่างนี้
<?xml version="1.0" encoding="ISO-8859-1"?> <bookstore> <book> <title lang="eng">Harry Potter</title> <price>29.99</price> </book> <book> <title lang="eng">Learning XML</title> <price>39.95</price> </book> </bookstore>
ตัวย่าน XPath
ตัวย่านสามารถกำหนดตำแหน่งของกลุ่มตัวเล่าเอาไว้เพื่อตัวเล่าที่ปัจจุบัน
ชื่อของตัวย่าน | ผลลัพธ์ |
---|---|
ancestor | เลือกทุกตัวเล่าที่เป็นบิดา (ปู่ ยาย และอื่นๆ) ของตัวเล่าที่ปัจจุบัน |
ancestor-or-self | เลือกทุกตัวเล่าที่เป็นบิดา (ปู่ ยาย และอื่นๆ) ของตัวเล่าที่ปัจจุบัน และตัวเล่าที่ปัจจุบันเอง |
attribute | เลือกทุกหลักโหนด attribute ของตำแหน่งปัจจุบัน |
child | เลือกทุกหลักโหนด child ของตำแหน่งปัจจุบัน |
descendant | เลือกทุกตัวเล่าที่เป็นหลาน (ลูก หลานเลี้ยง และอื่นๆ) ของตัวเล่าที่ปัจจุบัน |
descendant-or-self | เลือกทุกตัวเล่าที่เป็นหลาน (ลูก หลานเลี้ยง และอื่นๆ) ของตัวเล่าที่ปัจจุบัน และตัวเล่าที่ปัจจุบันเอง |
following | เลือกทุกตัวเล่าที่อยู่หลังจากแท็กคู่ของตัวเล่าที่ปัจจุบัน |
namespace | เลือกทุกตัวเล่าของชื่อสเปซ์ที่อยู่ในตัวเล่าที่ปัจจุบัน |
parent | เลือกตัวเล่าพ่อของตัวเล่าที่ปัจจุบัน |
preceding | เลือกทุกตัวเล่าที่อยู่ก่อนแท็กคู่ของตัวเล่าที่ปัจจุบัน |
preceding-sibling | เลือกทุกตัวเล่าเดียวกันที่อยู่ก่อนตัวเล่าที่ปัจจุบัน |
self | เลือกตัวเล่าที่ปัจจุบัน |
ระยะทางตำแหน่งของ XPath
ระยะทางตำแหน่งสามารถเป็นระยะทางที่เป็นสายทางหรือระยะทางที่เป็นสายทางที่ไม่เป็นสายทาง:
ระยะทางที่เริ่มต้นด้วยสลัทธรรมดา (/) และระยะทางที่เป็นสายทางไม่มีสลัทธรรมดาเช่นนั้น。ในทั้งสองกรณี ระยะทางตำแหน่งรวมถึงหนึ่งหรือหลายขั้นตอน ซึ่งแยกด้วยสลัทธรรมดา:
ทางเดินสำหรับตำแหน่งเดี่ยว:
/step/step/...
ทางเดินสำหรับอักษรยนต์:
step/step/...
แต่ละอักษรยนต์ที่นับแล้วจะนับโดยอิสระตามหลักโหนดที่อยู่ในตำแหน่งปัจจุบัน
อักษรยนต์ (step) รวมถึง:
- อักษรยนต์ (axis)
- กำหนดความสัมพันธ์ต้นไม้ของหลักโหนดที่เลือก กับหลักโหนดปัจจุบัน
- มูลความหลักโหนด (node-test)
- ระบุหลักโหนดที่อยู่ในช่องโหว่ของอักษรยนต์
- 0 หรือมากกว่า มูลความ (predicate)
- ทำให้นำไปสู่ตำแหน่งหลักโหนดที่เลือกในลำดับที่น่าจะใช้
การใช้งานคำสั่งของอักษรยนต์:
ชื่อของอักษรยนต์::node-test[มูลความ]
ตัวอย่าง
ตัวอย่าง | ผลลัพธ์ |
---|---|
child::book | เลือกหลักโหนด book ที่อยู่ในตำแหน่ง child ของหลักโหนดที่อยู่ในตำแหน่งปัจจุบัน |
attribute::lang | เลือกหลักโหนด attribute lang ของตำแหน่งปัจจุบัน |
child::* | เลือกทุกหลักโหนด child ของตำแหน่งปัจจุบัน |
attribute::* | เลือกทุกหลักโหนด attribute ของตำแหน่งปัจจุบัน |
child::text() | เลือกทุกหลักโหนด text ของตำแหน่งปัจจุบัน |
child::node() | เลือกทุกหลักโหนด child ของตำแหน่งปัจจุบัน |
descendant::book | เลือกทุกหลักโหนด descendant ของ book ที่อยู่ในตำแหน่งปัจจุบัน |
ancestor::book | เลือกหลักโหนด ancestor ของ book ที่อยู่ในตำแหน่งปัจจุบัน |
ancestor-or-self::book | เลือกหลักโหนด ancestor ของ book และตำแหน่งปัจจุบัน (หากตำแหน่งปัจจุบันเป็นหลักโหนด book) |
child::*/child::price | เลือกทุกหลักโหนด child::price ที่อยู่ในตำแหน่ง descendant ของตำแหน่งปัจจุบัน |
- หน้าก่อนหน้า XPath การใช้คำสั่ง
- หน้าต่อไป XPath Operator