XML Tutorial

XML หน้าแรก บทนำ XML XML วิธีใช้งาน XML Tree ไวยากรณ์ XML องค์ประกอบ XML คุณสมบัติ XML XML เนมสเปซ จอแสดงผล XML XML HttpRequest XML Parser XML DOM XML XPath XML XSLT XML XQuery XML XLink เครื่องมือตรวจสอบ XML XML DTD XML Schema XML Server ตัวอย่าง XML แบบทดสอบ XML ใบรับรอง XML

XML AJAX

บทนำ AJAX AJAX XMLHttp คำขอ AJAX การตอบสนอง AJAX ไฟล์ AJAX XML AJAX PHP AJAX ASP ฐานข้อมูล AJAX แอปพลิเคชัน AJAX ตัวอย่าง AJAX

XML DOM

บทนำ DOM โหนด DOM การเข้าถึง DOM ข้อมูลโหนด DOM รายการโหนด DOM DOM Traversing การนำทาง DOM DOM รับค่า DOM เปลี่ยนโหนด DOM ลบโหนด DOM แทนที่โหนด DOM สร้างโหนด DOM เพิ่มโหนด DOM โคลนโหนด ตัวอย่าง DOM

บทช่วย สอนXPath

บทนำ XPath โหนด XPath ไวยากรณ์ XPath แกน XPath ตัวดำเนินการ XPath ตัวอย่าง XPath

กวดวิชาXSLT

บทนำ XSLT ภาษา XSL การแปลง XSLT XSLT <แม่แบบ> XSLT <ค่าของ> XSLT <for-each> XSLT <sort> XSLT <if> XSLT <เลือก> ใช้ XSLT XSLT บนไคลเอนต์ XSLT บนเซิร์ฟเวอร์ XSLT แก้ไข XML ตัวอย่าง XSLT

กวดวิชาXQuery

บทนำ XQuery ตัวอย่าง XQuery XQuery FLWOR XQuery HTML ข้อกำหนด XQuery ไวยากรณ์ XQuery XQuery เพิ่ม XQuery Select ฟังก์ชัน XQuery

XML DTD

บทนำ DTD บล็อกตัวต่อ DTD องค์ประกอบ DTD คุณสมบัติ DTD องค์ประกอบ DTD เทียบกับ Attr หน่วยงาน DTD ตัวอย่าง DTD

ส คีมา XSD

บทนำ XSD XSD วิธีการ XSD <schema> องค์ประกอบ XSD แอตทริบิวต์ XSD ข้อจำกัด XSD

XSD Complex

องค์ประกอบ XSD XSD ว่างเปล่า องค์ประกอบ XSD เท่านั้น XSD Text เท่านั้น XSD ผสม ตัวชี้วัด XSD XSD <ใด ๆ> XSD <anyAttribute> การทดแทน XSD XSD ตัวอย่าง

ข้อมูลXSD

XSD สตริง วันที่ XSD XSD ตัวเลข XSD เบ็ดเตล็ด ข้อมูลอ้างอิง XSD

บริการเว็บ

XML Services XML WSDL XML SOAP XML RDF XML RSS

อ้างอิง

ประเภทโหนด DOM โหนด DOM DOM NodeList DOM NamedNodeMap เอกสาร DOM องค์ประกอบ DOM แอตทริบิวต์ DOM ข้อความ DOM DOM CDATA ความคิดเห็นของ DOM DOM XMLHttpRequest DOM Parser องค์ประกอบ XSLT ฟังก์ชัน XSLT/XPath

XQuery การเลือกและ การ กรอง


เอกสารตัวอย่าง XML

เราจะใช้เอกสาร "books.xml" ในตัวอย่างด้านล่าง (ไฟล์ XML เดียวกับในบทก่อนหน้า)

ดูไฟล์ "books.xml" ในเบราว์เซอร์ของคุณ


การเลือกและการกรององค์ประกอบ

ดังที่เราได้เห็นในบทที่แล้ว เรากำลังเลือกและกรององค์ประกอบด้วยนิพจน์เส้นทางหรือนิพจน์ FLWOR

ดูนิพจน์ FLWOR ต่อไปนี้:

for $x in doc("books.xml")/bookstore/book
where $x/price>30
order by $x/title
return $x/title
  • สำหรับ - (ทางเลือก) ผูกตัวแปรกับแต่ละรายการที่ส่งคืนโดยนิพจน์ใน
  • ให้ - (ไม่จำเป็น)
  • โดยที่ - (ไม่บังคับ) ระบุเกณฑ์
  • เรียงลำดับโดย - (ตัวเลือก) ระบุการเรียงลำดับของผลลัพธ์
  • return - ระบุสิ่งที่จะส่งคืนในผลลัพธ์

สำหรับข้อ

คำสั่ง for ผูกตัวแปรกับแต่ละรายการที่ส่งคืนโดยนิพจน์ in ส่วนคำสั่ง for ทำให้เกิดการวนซ้ำ สามารถมีได้หลายส่วนสำหรับอนุประโยคในนิพจน์ FLWOR เดียวกัน

ในการวนซ้ำจำนวนครั้งที่เจาะจงใน for clause คุณสามารถใช้toคีย์เวิร์ด:

for $x in (1 to 5)
return <test>{$x}</test>

ผลลัพธ์:

<test>1</test>
<test>2</test>
<test>3</test>
<test>4</test>
<test>5</test>

คีย์เวิร์ด atสามารถใช้นับการวนซ้ำได้:

for $x at $i in doc("books.xml")/bookstore/book/title
return <book>{$i}. {data($x)}</book>

ผลลัพธ์:

<book>1. Everyday Italian</book>
<book>2. Harry Potter</book>
<book>3. XQuery Kick Start</book>
<book>4. Learning XML</book>

นอกจากนี้ยังอนุญาตให้มีมากกว่าหนึ่งนิพจน์ใน for clause ใช้เครื่องหมายจุลภาคเพื่อคั่นแต่ละรายการในนิพจน์:

for $x in (10,20), $y in (100,200)
return <test>x={$x} and y={$y}</test>

ผลลัพธ์:

<test>x=10 and y=100</test>
<test>x=10 and y=200</test>
<test>x=20 and y=100</test>
<test>x=20 and y=200</test>


ให้ข้อ

คำสั่ง let ช่วยให้สามารถกำหนดตัวแปรได้ และหลีกเลี่ยงการใช้นิพจน์เดียวกันซ้ำหลายครั้ง ประโยคให้ไม่ส่งผลให้เกิดการวนซ้ำ

let $x := (1 to 5)
return <test>{$x}</test>

ผลลัพธ์:

<test>1 2 3 4 5</test>

ที่ไหนข้อ

คำสั่ง where ใช้เพื่อระบุเกณฑ์อย่างน้อยหนึ่งเกณฑ์สำหรับผลลัพธ์:

where $x/price>30 and $x/price<100

คำสั่งตามข้อ

ลำดับตามข้อใช้เพื่อระบุลำดับการจัดเรียงของผลลัพธ์ ที่นี่เราต้องการเรียงลำดับผลลัพธ์ตามหมวดหมู่และชื่อ:

for $x in doc("books.xml")/bookstore/book
order by $x/@category, $x/title
return $x/title

ผลลัพธ์:

<title lang="en">Harry Potter</title>
<title lang="en">Everyday Italian</title>
<title lang="en">Learning XML</title>
<title lang="en">XQuery Kick Start</title>

ข้อส่งคืน

ประโยคส่งคืนระบุสิ่งที่จะส่งคืน

for $x in doc("books.xml")/bookstore/book
return $x/title

ผลลัพธ์:

<title lang="en">Everyday Italian</title>
<title lang="en">Harry Potter</title>
<title lang="en">XQuery Kick Start</title>
<title lang="en">Learning XML</title>