Java XPath Parser - ภาพรวม
XPath เป็นคำแนะนำอย่างเป็นทางการของ World Wide Web Consortium (W3C) กำหนดภาษาเพื่อค้นหาข้อมูลในไฟล์ XML ใช้เพื่อสำรวจองค์ประกอบและแอตทริบิวต์ของเอกสาร XML XPath จัดเตรียมนิพจน์ประเภทต่างๆซึ่งสามารถใช้เพื่อสอบถามข้อมูลที่เกี่ยวข้องจากเอกสาร XML
XPath คืออะไร?
Structure Definations - XPath กำหนดส่วนต่างๆของเอกสาร XML เช่นองค์ประกอบแอตทริบิวต์ข้อความเนมสเปซการประมวลผลคำสั่งข้อคิดเห็นและโหนดเอกสาร
Path Expressions - XPath มีนิพจน์พา ธ ที่มีประสิทธิภาพเช่นเลือกโหนดหรือรายการโหนดในเอกสาร XML
Standard Functions - XPath มีไลบรารีที่หลากหลายของฟังก์ชันมาตรฐานสำหรับการจัดการค่าสตริงค่าตัวเลขการเปรียบเทียบวันที่และเวลาการจัดการโหนดและ QName การจัดการลำดับค่าบูลีน
Major part of XSLT - XPath เป็นหนึ่งในองค์ประกอบหลักในมาตรฐาน XSLT และต้องมีความรู้เพียงพอเกี่ยวกับ XPath เพื่อที่จะทำงานกับเอกสาร XSLT
W3C recommendation - XPath เป็นคำแนะนำอย่างเป็นทางการของ World Wide Web Consortium (W3C)
นิพจน์ XPath
XPath ใช้นิพจน์พา ธ เพื่อเลือกโหนดหรือรายการโหนดจากเอกสาร XML ต่อไปนี้เป็นรายการของพา ธ และนิพจน์ที่มีประโยชน์เพื่อเลือกโหนด / รายการโหนดจากเอกสาร XML
ซีเนียร์ | นิพจน์และคำอธิบาย |
---|---|
1 | node-name เลือกโหนดทั้งหมดที่มีชื่อ "nodename" |
2 | / การเลือกเริ่มต้นจากโหนดรูท |
3 | // การเลือกเริ่มจากโหนดปัจจุบันที่ตรงกับการเลือก |
4 | . เลือกโหนดปัจจุบัน |
5 | .. เลือกพาเรนต์ของโหนดปัจจุบัน |
6 | @ เลือกแอตทริบิวต์ |
7 | student Example - เลือกโหนดทั้งหมดที่มีชื่อ "นักเรียน" |
8 | class/student Example - เลือกองค์ประกอบของนักเรียนทั้งหมดที่เป็นเด็กในชั้นเรียน |
9 | //student เลือกองค์ประกอบของนักเรียนทั้งหมดไม่ว่าจะอยู่ที่ใดในเอกสาร |
เปรต
เพรดิเคตใช้เพื่อค้นหาโหนดเฉพาะหรือโหนดที่มีค่าเฉพาะและกำหนดโดยใช้ [... ]
นิพจน์ | ผลลัพธ์ |
---|---|
/ class / student [1] | เลือกองค์ประกอบนักเรียนคนแรกที่เป็นลูกขององค์ประกอบชั้นเรียน |
/ class / student [last ()] | เลือกองค์ประกอบของนักเรียนคนสุดท้ายที่เป็นลูกขององค์ประกอบชั้นเรียน |
/ class / student [last () - 1] | เลือกองค์ประกอบสุดท้ายของนักเรียน แต่เป็นหนึ่งในองค์ประกอบของชั้นเรียน |
// นักเรียน [@rollno = '493'] | เลือกองค์ประกอบนักเรียนทั้งหมดที่มีแอตทริบิวต์ชื่อ rollno ด้วยค่า "493" |