Latest web development tutorials

ไวยากรณ์ XPath

ใช้นิพจน์ XPath เส้นทางเพื่อเลือกโหนดในเอกสาร XML หรือชุดของโหนด โดยโหนดตามเส้นทาง (เส้นทาง) หรือขั้นตอน (ขั้นตอน) เพื่อเลือก


เช่นเอกสาร 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 หรือตามเส้นทางผ่านโหนดเพื่อเลือกขั้นตอน ข้างล่างนี้เป็นสำนวนที่เส้นทางที่มีประโยชน์มากที่สุด:

การแสดงออก ลักษณะ
nodename เลือกทั้งหมดโหนดลูกของโหนดนี้
/ เลือกจากโหนดราก
// เลือกเอกสารจากโหนดการจับคู่ที่เลือกในปัจจุบันโหนดโดยไม่คำนึงถึงตำแหน่งของพวกเขา
. เลือกโหนดปัจจุบัน
.. เลือกแม่ของโหนดปัจจุบัน
แอท เลือก Properties

ในตารางด้านล่างเราได้ระบุไว้บางส่วนของการแสดงออกเส้นทางและผลของการแสดงออกไปนี้:

เส้นทางการแสดงออก ผล
ร้านหนังสือ เลือกทั้งหมดโหนดลูกขององค์ประกอบที่ร้านหนังสือ
/ ร้านหนังสือ

เลือกร้านหนังสือองค์ประกอบราก

หมายเหตุ: หากเส้นทางที่เริ่มต้นด้วยการทับ (/) เส้นทางที่เป็นตัวแทนของเส้นทางสัมบูรณ์ไปยังองค์ประกอบเสมอ!

ร้านหนังสือ / หนังสือ เลือกองค์ประกอบย่อยที่อยู่ในร้านหนังสือองค์ประกอบหนังสือทั้งหมด
// หนังสือ เลือกหนังสือเล่มย่อยองค์ประกอบทั้งหมดโดยไม่คำนึงถึงตำแหน่งของพวกเขาในเอกสาร
ร้านหนังสือ // หนังสือ เลือกองค์ประกอบหนังสือทั้งหมดที่เป็นลูกหลานขององค์ประกอบร้านหนังสือไม่ว่าสิ่งที่ตำแหน่งที่พวกเขาอยู่ในและภายใต้ร้านหนังสือ
// @ หลังสวน เลือกทั้งหมดของคุณสมบัติที่มีชื่อหรั่ง


กริยา (Predicates)

กริยาใช้ในการค้นหาโหนดที่เฉพาะเจาะจงหรือโหนดที่มีค่าที่ระบุ

กริยาจะถูกฝังอยู่ในวงเล็บ

ในตารางด้านล่างเราได้จดทะเบียนการแสดงออกบางอย่างกับเส้นทางภาคและผลของการแสดงออกไปนี้:

เส้นทางการแสดงออก ผล
/ หนังสือ / หนังสือ [1] เลือกองค์ประกอบย่อยที่อยู่ในร้านหนังสือองค์ประกอบหนังสือเล่มแรก
/ หนังสือ / หนังสือ [ที่ผ่านมา ()] เลือกร้านหนังสือองค์ประกอบย่อยที่อยู่ในองค์ประกอบของหนังสือเล่มสุดท้าย
/ หนังสือ / หนังสือ [ที่ผ่านมา () - 1] เลือกองค์ประกอบย่อยที่อยู่ในร้านหนังสือซึ่งกันและกันองค์ประกอบหนังสือเล่มที่สอง
/ หนังสือ / หนังสือ [ตำแหน่ง () <3] เลือกแรกที่สององค์ประกอบของธาตุหนังสือร้านหนังสือที่อยู่ในองค์ประกอบย่อย
// ชื่อเรื่อง [@lang] เลือกแอตทริบิวต์ทั้งหมดชื่อหรั่งมีองค์ประกอบชื่อ
// ชื่อเรื่อง [@ lang = 'Eng'] เลือกทั้งหมดองค์ประกอบชื่อและองค์ประกอบเหล่านี้มีค่า Eng Lang แอตทริบิวต์
/bookstore/book[price>35.00] เลือกทุกองค์ประกอบของธาตุหนังสือร้านหนังสือและความคุ้มค่าขององค์ประกอบราคาที่ต้องมากกว่า 35.00
/bookstore/book[price>35.00]/title เลือกทุกองค์ประกอบชื่อขององค์ประกอบของธาตุหนังสือร้านหนังสือและประเด็นค่าขององค์ประกอบที่ราคาจะยิ่งกว่า 35.00


เลือกโหนดที่ไม่รู้จัก

สัญลักษณ์ XPath สามารถใช้ในการเลือกองค์ประกอบ XML ที่ไม่รู้จัก

wildcard ลักษณะ
* * * * ตรงกับโหนดองค์ประกอบใด ๆ
@ * ตรงกับโหนดแอตทริบิวต์ใด ๆ
โหนด () ตรงกับประเภทของโหนดใด ๆ

ในตารางด้านล่างที่เราได้ระบุไว้บางเส้นทางการแสดงออกเช่นเดียวกับผลของการแสดงออกเหล่านี้:

เส้นทางการแสดงออก ผล
/ หนังสือ / * เลือกองค์ประกอบที่ร้านหนังสือทุกองค์ประกอบของเด็ก
// * เลือกองค์ประกอบทั้งหมดในเอกสาร
// ชื่อเรื่อง [@ *] เลือกองค์ประกอบทั้งหมดที่มีคุณลักษณะชื่อ


เลือกหลายเส้นทาง

โดยใช้เส้นทางการแสดงออก "|" ผู้ประกอบคุณสามารถเลือกหลายเส้นทาง

ในตารางด้านล่างที่เราได้ระบุไว้บางเส้นทางการแสดงออกเช่นเดียวกับผลของการแสดงออกเหล่านี้:

เส้นทางการแสดงออก ผล
// หนังสือ / ชื่อ | // หนังสือ / ราคา เลือกชื่อหนังสือและราคาองค์ประกอบขององค์ประกอบทั้งหมด
// ชื่อ | // ราคา เลือกเอกสารทั้งหมดของชื่อและราคาองค์ประกอบ
/ หนังสือ / หนังสือ / ชื่อ | // ราคา เลือกหนังสือที่ร้านหนังสือองค์ประกอบองค์ประกอบที่อยู่ในทุกองค์ประกอบของชื่อและเอกสารทุกองค์ประกอบของราคา