Latest web development tutorials

ตัวอย่าง XPath

ในส่วนนี้ให้เราเรียนรู้จากตัวอย่างบางไวยากรณ์ XPath ขั้นพื้นฐาน


เช่นเอกสาร XML

เราจะใช้เอกสาร XML นี้ในตัวอย่างต่อไปนี้:

"Books.xml":

<?xml version="1.0" encoding="ISO-8859-1"?>

<bookstore>

<book category="COOKING">
<title lang="en">Everyday Italian</title>
<author>Giada De Laurentiis</author>
<year>2005</year>
<price>30.00</price>
</book>

<book category="CHILDREN">
<title lang="en">Harry Potter</title>
<author>J K. Rowling</author>
<year>2005</year>
<price>29.99</price>
</book>

<book category="WEB">
<title lang="en">XQuery Kick Start</title>
<author>James McGovern</author>
<author>Per Bothner</author>
<author>Kurt Cagle</author>
<author>James Linn</author>
<author>Vaidyanathan Nagarajan</author>
<year>2003</year>
<price>49.99</price>
</book>

<book category="WEB">
<title lang="en">Learning XML</title>
<author>Erik T. Ray</author>
<year>2003</year>
<price>39.95</price>
</book>

</bookstore>

มุมมอง "books.xml" แฟ้มในเบราว์เซอร์ของคุณ


โหลดเอกสาร XML

เบราว์เซอร์ที่ทันสมัยรองรับการใช้งานของ XMLHttpRequest ที่จะโหลดเอกสาร XML

รหัสเบราว์เซอร์ที่ทันสมัยที่สุด:

var xmlhttp=new XMLHttpRequest()

สำหรับเบราว์เซอร์ไมโครซอฟท์เก่า (IE 5 และ 6) ของรหัส:

var xmlhttp=new ActiveXObject("Microsoft.XMLHTTP")


เลือกโหนด

แต่น่าเสียดายที่ Internet Explorer และวิธีการที่แตกต่างกันในการจัดการอื่น ๆ XPath

ในตัวอย่างของเรามันมีรหัสเบราว์เซอร์ที่สำคัญที่สุด

Internet Explorer ใช้ selectNodes () วิธีการจากเอกสาร XML เพื่อเลือกโหนด:

xmlDoc.selectNodes(xpath);

Firefox, Chrome, Opera และ Safari ใช้ประเมิน () วิธีการเลือกโหนดจากเอกสาร XML:

xmlDoc.evaluate(xpath, xmlDoc, null, XPathResult.ANY_TYPE,null);


เลือกชื่อทั้งหมด

ตัวอย่างต่อไปนี้เลือกโหนดชื่อทั้งหมด:

ตัวอย่าง

/bookstore/book/title

ลอง»


เลือกชื่อแรกของหนังสือ

ตัวอย่างต่อไปนี้เลือกองค์ประกอบร้านหนังสือด้านล่างแรกชื่อหนังสือโหนด:

ตัวอย่าง

/bookstore/book[1]/title

ลอง»

มีปัญหา ตัวอย่างข้างต้นของผลที่แตกต่างกันใน IE และเบราว์เซอร์อื่น ๆ

IE5 และต่อมา [0] ถือเป็นโหนดแรกและเป็นไปตามมาตรฐาน W3C ควรเป็น [1]

ทางออกหนึ่ง!

เพื่อที่จะแก้ปัญหา IE5 + [0] และ [1] ของปัญหาคุณสามารถตั้งค่าตัวเลือกภาษาสำหรับ XPath นี้ (SelectionLanguage)

ตัวอย่างต่อไปนี้เลือกองค์ประกอบร้านหนังสือด้านล่างแรกชื่อหนังสือโหนด:

ตัวอย่าง

xml.setProperty("SelectionLanguage","XPath");
xml.selectNodes("/bookstore/book[1]/title");

ลอง»


เลือกทุกราคา

ตัวอย่างต่อไปนี้เลือกทั้งหมดราคาโหนดข้อความ:

ตัวอย่าง

/bookstore/book/price/text()

ลอง»


เลือกเป็นราคาที่สูงกว่าราคาโหนด 35

ตัวอย่างต่อไปนี้เลือกราคาทั้งหมดสูงกว่าราคา 35 โหนด:

ตัวอย่าง

/bookstore/book[price>35]/price

ลอง»


เลือกโหนดราคาที่สูงกว่า 35 ชื่อ

ตัวอย่างต่อไปนี้เลือกทั้งหมดโหนดชื่อราคาที่สูงกว่า 35:

ตัวอย่าง

/bookstore/book[price>35]/title

ลอง»