กฎระเบียบ XPath
- 上一頁 ตัวเลือก XPath
- 下一頁 XPath 軸
XPath ใช้หนทางแสดงเพื่อเลือกจุดหรือจุดที่อยู่ในเอกสาร XML จุดที่อยู่ในเอกสารนั้นถูกเลือกด้วยหนทาง (path) หรือ step。
เอกสาร 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 ใช้หนทางแสดงเพื่อเลือกจุดหรือจุดที่อยู่ในเอกสาร XML จุดที่อยู่ในเอกสารนั้นถูกเลือกด้วยหนทางหรือ step。
ในนี้เราได้ระบุหนทางแสดงที่ใช้งานมากที่สุด:
expression | คำอธิบาย |
---|---|
nodename | เลือกทุกโครงการลูกขององค์ประกอบนี้。 |
/ | เลือกจากต้นโครงการ。 |
// | จากองค์ประกอบที่ตรงกับการเลือกปัจจุบัน ให้เลือกองค์ประกอบในเอกสาร โดยไม่คำนึงถึงตำแหน่งของพวกเขา。 |
. | เลือกองค์ประกอบปัจจุบัน。 |
.. | เลือกองค์ประกอบพ่อขององค์ประกอบปัจจุบัน。 |
@ | เลือกคุณสมบัติ。 |
ตัวอย่าง
ในตารางด้านล่างนี้ เราได้ระบุหนทางแสดงและผลลัพธ์ของหนทางนั้น:
expression ทางหลวง | ผลลัพธ์ |
---|---|
bookstore | เลือกทุกโครงการลูกของ element bookstore。 |
/bookstore |
เลือกองค์ประกอบ root bookstore。 หมายเหตุ: ถ้าหากหนทางเริ่มต้นด้วยเส้นใต้ ( / ) หนทางนี้จะเป็นหนทางที่มีความหมายถึงหนทางสายสั้นถึงองค์ประกอบใดๆ ขององค์ประกอบที่กำหนด! |
bookstore/book | เลือกทุกองค์ประกอบ book ที่อยู่ในลูกของ element bookstore。 |
//book | เลือกทุกลูกของ element book ไม่ว่าพวกเขาจะอยู่ในตำแหน่งใดในเอกสาร。 |
bookstore//book | เลือกทุกองค์ประกอบ book ที่อยู่ในลูกหลานของ element bookstore ไม่ว่าพวกเขาจะอยู่ในตำแหน่งใดใต้ bookstore。 |
//@lang | เลือก attribute ทั้งหมดที่มีชื่อ lang |
predicate (Predicates)
predicate ใช้เพื่อหา node ที่เป็นไปได้หรือ node ที่มี value ที่กำหนด
predicate ถูกจัดในวงเล็บ
ตัวอย่าง
ในตารางด้านล่างนี้ เราได้ระบุ expression ทางหลวงที่มี predicate และผลลัพธ์ของมัน:
expression ทางหลวง | ผลลัพธ์ |
---|---|
/bookstore/book[1] | เลือก element book ที่เป็น child element ของ element bookstore ของที่เป็นคนที่แรก |
/bookstore/book[last()] | เลือก element book ที่เป็น child element ของ element bookstore ของที่เป็นคนที่สุดท้าย |
/bookstore/book[last()-1] | เลือก element book ที่เป็น child element ของ element bookstore ของที่เป็นคนที่สองที่แล้ว |
/bookstore/book[position()<3] | เลือก element book สองแห่งแรกที่เป็น child element ของ element bookstore |
//title[@lang] | เลือก element title ทั้งหมดที่มี attribute ชื่อ lang |
//title[@lang='eng'] | เลือก element title ทั้งหมดที่มี attribute lang มี value eng |
/bookstore/book[price>35.00] | เลือก element book ทั้งหมดใน element bookstore ที่มี value ของ element price มากกว่า 35.00 |
/bookstore/book[price>35.00]/title | เลือก element title ทั้งหมดใน element book ของ element bookstore ที่มี value ของ element price มากกว่า 35.00 |
เลือก node ที่ไม่ทราบ
wildcard ของ XPath ใช้เพื่อเลือก element XML ที่ไม่ทราบ
wildcard | คำอธิบาย |
---|---|
* | ตรวจสอบของ node element |
@* | ตรวจสอบของ node attribute |
node() | ตรวจสอบของ node ทุกชนิด |
ตัวอย่าง
ในตารางด้านล่างนี้ เราได้ระบุ expression ทางหลวงและผลลัพธ์ของมัน:
expression ทางหลวง | ผลลัพธ์ |
---|---|
/bookstore/* | เลือกทั้งหมดของ child element ของ element bookstore |
//* | เลือกทั้งหมดของ element ในเอกสาร |
//title[@*] | เลือกทั้งหมดของ element title ที่มี attribute |
เลือกหลาย path
ด้วยการใช้การคำนวณ operator "|" ใน expression ทางหลวง คุณสามารถเลือกหลาย path ได้
ตัวอย่าง
ในตารางด้านล่างนี้ เราได้ระบุ expression ทางหลวงและผลลัพธ์ของมัน:
expression ทางหลวง | ผลลัพธ์ |
---|---|
//book/title | //book/price | เลือกทั้งหมดของ element book ใน tag title และ element price。 |
//title | //price | 選擇文檔中的所有 title 和 price 元素。 |
/bookstore/book/title | //price | 選擇屬於 bookstore 元素的 book 元素的所 有 title 元素,以及文檔中所有的 price 元素。 |
- 上一頁 ตัวเลือก XPath
- 下一頁 XPath 軸