ระบบเกณฑ์ XPath
- หน้าก่อน จุดหมาย XPath
- หน้าต่อไป อักษรยนต์ XPath
XPath ใช้ประโยคนิยายเลือกจุดตัวหรือชุดจุดตัวในเอกสาร XML จะเลือกจุดตัวผ่านทางทาง (path) หรือ ขั้น (steps) ที่เลือก
เอกสารตัวอย่าง 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 ที่เลือก
ตามไปนี้นับได้ว่าเป็นองค์ประกอบทางพิษณ์ที่มีประโยชน์ที่สุด:
องค์ประกอบ | การอธิบาย |
---|---|
nodename | เลือกทุกองค์ประกอบที่เป็นลูกของตัวองค์ประกอบนี้。 |
/ | เลือกจากจุดต้นฐานรากขององค์ประกอบ。 |
// | เลือกองค์ประกอบในเอกสารที่ตรงกับองค์ประกอบที่มีความตรงของทางพิษณ์ที่ตรงกับองค์ประกอบปัจจุบัน โดยไม่เกี่ยวกับตำแหน่งของมันในเอกสาร。 |
. | เลือกองค์ประกอบปัจจุบัน。 |
.. | เลือกองค์ประกอบต้นนอกของตัวองค์ประกอบปัจจุบัน。 |
@ | เลือกคุณสมบัติ。 |
ตัวอย่าง
ในตารางด้านล่าง สามารถดูองค์ประกอบทางพิษณ์และผลลัพธ์ของพิษณ์นั้นตามไปนี้:
แบบแบ่งปันทางแยก | ผลลัพธ์ |
---|---|
bookstore | เลือกองค์ประกอบทั้งหมดที่เป็นลูกขององค์ประกอบ bookstore。 |
/bookstore |
เลือกองค์ประกอบ root bookstore。 หมายเหตุ: ถ้าทางแสดงของหลักทางออกเริ่มด้วยขีดเส้นทาง ( / ) แล้ว หลักทางออกนั้นจะเป็นทางออกที่แน่นอนไปถึงองค์ประกอบใดๆ และไม่เกี่ยวกับตำแหน่งของมันใน bookstore ก็ตาม! |
bookstore/book | เลือกองค์ประกอบ book ทั้งหมดที่เป็นลูกองค์ประกอบขององค์ประกอบ bookstore。 |
//book | เลือกองค์ประกอบ book ทั้งหมดที่เป็นลูกองค์ประกอบทั้งหมดในเอกสารไม่ว่าตัวนั้นจะอยู่ที่ไหนในเอกสารก็ตาม。 |
bookstore//book | เลือกองค์ประกอบ book ทั้งหมดที่เป็นลูกหลังขององค์ประกอบ bookstore ไม่ว่าตัวนั้นจะอยู่ที่ไหนใน bookstore ก็ตาม。 |
//@lang | เลือกคุณสมบัติที่ชื่อ lang ทั้งหมด。 |
คำพิษณ์ (Predicates)
คำพิษณ์ใช้ต่อหาจุดของตามหลังหรือจุดของที่มีค่าที่ระบุโดยเฉพาะ。
คำพิษณ์ถูกปิดลงด้วยวงกลมทางซ้ายขวาของข้อความ。
ตัวอย่าง
ในตารางด้านล่าง สามารถดูองค์ประกอบทางพิษณ์และผลลัพธ์ของพิษณ์นั้นตามไปนี้:
แบบแบ่งปันทางแยก | ผลลัพธ์ |
---|---|
/bookstore/book[1] | เลือกองค์ประกอบ book องค์ประกอบที่อยู่ที่ต้นของ bookstore ลูกองค์ประกอบ。 |
/bookstore/book[last()] | เลือกองค์ประกอบ book องค์ประกอบที่อยู่ที่ท้ายของ bookstore ลูกองค์ประกอบ。 |
/bookstore/book[last()-1] | เลือกองค์ประกอบ book องค์ประกอบที่อยู่ที่ท้ายของ bookstore ลูกองค์ประกอบสององค์ประกอบที่หน้าต้นทางเดียวกัน。 |
/bookstore/book[position()<3] | เลือกองค์ประกอบ book สององค์ประกอบแรกที่เป็นลูกขององค์ประกอบ bookstore。 |
//title[@lang] | เลือกองค์ประกอบ title ที่มีคุณสมบัติชื่อ lang。 |
//title[@lang='eng'] | เลือกองค์ประกอบ title ทั้งหมด ที่มีค่าของคุณสมบัติ lang ว่า eng。 |
/bookstore/book[price>35.00] | เลือกองค์ประกอบ bookstore ทั้งหมด และองค์ประกอบ book ที่มีค่าขององค์ประกอบ price มากกว่า 35.00。 |
/bookstore/book[price>35.00]/title | เลือกทุก element ของ title ใน element ของ book ใน element ของ bookstore ที่มี element ของ price ที่มีค่ามากกว่า 35.00 |
เลือกจุดหมายที่ไม่ทราบก่อน
ตัวแทน XPath สามารถใช้เลือก XML element ที่ไม่ทราบก่อน
ตัวแทน | การอธิบาย |
---|---|
* | ตรงกันข้ามกับประเภทของ element |
@* | ตรงกันข้ามกับประเภทของอัตริบิวต์ |
node() | ตรงกันข้ามกับประเภทของจุดหมาย |
ตัวอย่าง
ในตารางด้านล่าง นักเรียนรู้ของเราจะแสดงแบบแบ่งปันทางแยกและผลลัพธ์ของแบบแบ่งปันทางแยก
แบบแบ่งปันทางแยก | ผลลัพธ์ |
---|---|
/bookstore/* | เลือกทุก child element ของ element ของ bookstore |
//* | เลือกทุก element ในเอกสาร |
//title[@*] | เลือกทุก element ของ title ที่มีอัตрибิวต์ |
เลือกหลายแบบแบ่งปัน
ด้วยการใช้ประกาศทางแยก "|" ในแบบแบ่งปันทางแยก คุณสามารถเลือกหลายแบบแบ่งปัน
ตัวอย่าง
ในตารางด้านล่าง นักเรียนรู้ของเราจะแสดงแบบแบ่งปันทางแยกและผลลัพธ์ของแบบแบ่งปันทางแยก
แบบแบ่งปันทางแยก | ผลลัพธ์ |
---|---|
//book/title | //book/price | เลือกทุก element ของ title และ price ใน element ของ book |
//title | //price | เลือกทุก element ของ title และ price ในเอกสาร |
/bookstore/book/title | //price | เลือกทุก element ของ title ใน element ของ bookstore และทุก element ของ price ในเอกสาร |
- หน้าก่อน จุดหมาย XPath
- หน้าต่อไป อักษรยนต์ XPath