XML DOM XPathResult องค์ประกอบ
- หน้าก่อน DOM XPathExpression
- หน้าต่อไป DOM XSLTProcessor
ผลลัพธ์ของ XPath ค้นหา
XPathResult ตัวแทน
XPathResult คือตัวแทนของค่าของแสดงความหมาย XPath ประเภทนี้ของตัวแทนเป็น Document.evaluate() และ XPathExpression.evaluate() กลับคืน。XPath ค้นหาสามารถคำนวณเป็นข้อความตัวอักษร、ตัวเลข、ค่าบูลล์、โหนดและรายชื่อโหนด XPath สามารถคืนรายชื่อโหนดด้วยวิธีหลายรูปแบบ ดังนั้น สายลับนี้ได้ถูกกำหนดเพื่อรับผลลัพธ์ของคำสั่ง XPath ที่เป็นไปได้ที่สับสนเล็กน้อย
ในการใช้ XPathResult ต้องตรวจสอบตัวแปร resultType มันจะกลับค่า XPathResult คงที่ ค่าของตัวแปรนี้จะบอกเราว่าต้องใช้ตัวแปรและเมธอดใดใดๆ ที่ต้องการหาค่าผลลัพธ์ การเรียกใช้หรืออ่านตัวแปรหรือเมธอดที่ไม่เป็นตัวแปร resultType จะทำให้เกิดข้อผิดพลาด
IE ไม่สนับสนุน API XPathResult สำหรับการทำคำที่ค้นหา XPath ใน IE อ่านต่อไปที่ Node.selectNodes() และ Node.selectSingleNode() .
ค่าคงที่ของ XPathResult
ค่าคงที่นี้นิยายชนิดที่คำที่ค้นหา XPath อาจกลับค่า ตัวแปร resultType ของ XPathResult ก็จัดเก็บหนึ่งในค่าเหล่านี้ ใช้เพื่อกำหนดว่าวัตถุจะจัดเก็บผลลัพธ์อะไร ค่าคงที่เหล่านี้ใช้ร่วมกับ Document.evaluate() และ XPathExpression.evaluate() เพื่อกำหนดชนิดผลลัพธ์ที่คาดหวัง
ค่าคงที่นี้และความหมายของมันเหลืออยู่เช่นนี้
- ANY_TYPE
- ส่งค่านี้ไปยัง Document.evaluate() หรือ XPathExpression.evaluate() เพื่อกำหนดชนิดผลลัพธ์ที่ยอมรับ ตัวแปร resultType ไม่ต้องการกำหนดค่านี้
- NUMBER_TYPE
- numbervalue จัดเก็บผลลัพธ์
- STRING_TYPE
- stringvalue จัดเก็บผลลัพธ์
- BOOLEAN_TYPE
- booleanValue จัดเก็บผลลัพธ์
- UNORDERED_NODE_ITERATOR_TYPE
- ผลลัพธ์คือชุดจุดข้อมูลที่ไม่มีลำดับ สามารถเข้าถึงตามลำดับด้วยการเรียกใช้ iterateNext() จนกว่าจะกลับค่า null ในกระบวนการวนลูปนี้ ต้องให้เอกสารไม่ถูกแก้ไข
- ORDERED_NODE_ITERATOR_TYPE
- ผลลัพธ์คือรายการจุดข้อมูล จัดลำดับตามคุณสมบัติในเอกสาร สามารถเข้าถึงตามลำดับด้วยการเรียกใช้ iterateNext() จนกว่าจะกลับค่า null ในกระบวนการวนลูปนี้ ต้องให้เอกสารไม่ถูกแก้ไข
- UNORDERED_NODE_SNAPSHOT_TYPE
- ผลลัพธ์คือรายการจุดข้อมูลที่สามารถเข้าถึงสุ่มๆ ตัวแปร snapshotLength กำหนดความยาวของรายการ และเมื่อเรียกใช้ snapshotItem() จะกลับค่าของจุดข้อมูลที่หมายนิดเฉพาะ จุดข้อมูลอาจไม่ใช่ตามลำดับที่ปรากฏในเอกสาร ตั้งแต่ผลลัพธ์นี้เป็น 'สำเนา' ดังนั้น แม้เอกสารจะเปลี่ยนแปลง มันยังมีผลบวกต่อไป อีกด้วย
- ORDERED_NODE_SNAPSHOT_TYPE
- ผลลัพธ์นี้เป็นรายการตัวแปลที่สามารถเข้าถึงได้ทั้งหมด อย่างเดียวกับ UNORDERED_NODE_SNAPSHOT_TYPE แต่รายการนี้จะมีลำดับตามเอกสาร
- ANY_UNORDERED_NODE_TYPE
- singleNodeValue อ้างถึงตัวแปลที่ตรงกับคำถาม หากไม่มีตัวแปลที่ตรงกับคำถาม ก็จะมีค่าเป็น null ถ้ามีหลายตัวแปลที่ตรงกับคำถาม singleNodeValue อาจเป็นตัวแปลใดก็ได้
- FIRST_ORDERED_NODE_TYPE
- singleNodeValue บันทึกค่าของตัวแปลแรกในเอกสารที่ตรงกับคำถาม หากไม่มีตัวแปลที่ตรงกับคำถาม ก็จะมีค่าเป็น null
ตัวแปรของ XPathResult
มากมายของอัตราะบุนี้มีผลเมื่อ resultType มีค่าที่ระบุไว้เฉพาะ ถ้าเข้าถึงอัตราะบุที่ไม่ถูกนิยามให้กับ resultType ของคุณก็จะเกิดข้อผิดพลาด
- booleanValue
- เมื่อ resultType คือ BOOLEAN_TYPE ก็บันทึกค่าผลลัพธ์
- invalidIteratorState
- ถ้า resultType คือค่า ITERATOR_TYPE และเอกสารได้ถูกแก้ไขแล้ว ก็จะมีค่าเป็น true; มันทำให้การวนลูปเป็นเชิงไม่มีประโยชน์ เพราะผลลัพธ์ได้ถูกคืนค่าแล้ว
- numberValue
- เมื่อ resultType คือ NUMBER_TYPE ก็บันทึกค่าผลลัพธ์
- resultType
- ใช้ XPath ต่อคำถามเพื่อรับผลลัพธ์ใด ค่าของมันเป็นหนึ่งในค่าที่ออกมาในบรรดาค่าที่ระบุไว้ก่อนหน้านี้ ค่าของนี้เป็นข้อมูลที่ให้ความรับรู้ถึงที่ที่สามารถใช้อัตราะบุและวิธีการอื่นๆ
- singleNodeValue
- เมื่อ resultType คือ XPathResult.ANY_UNORDERED_NODE_TYPE หรือ XPathResult.FIRST_UNORDERED_NODE_TYPE ก็บันทึกค่าผลลัพธ์
- snapshotLength
- เมื่อ resultType คือ UNORDERED_NODE_SNAPSHOT_TYPE หรือ ORDERED_NODE_ITERATOR_TYPE ก็ระบุจำนวนของตัวเลขที่จะทำการคืนค่าเลย และใช้สิ่งของ snapshotItem() พร้อมกับนี้ อัตราะบุค่านี้
- stringValue
- เมื่อ resultType คือ STRING_TYPE จะบันทึกค่าผลลัพธ์
วิธีของ XPathResult องค์ประกอบ
วิธี | คำอธิบาย |
---|---|
iterateNext() | ถ้า resultType คือ UNORDERED_NODE_ITERATOR_TYPE หรือ ORDERED_NODE_ITERATOR_TYPE ใช้วิธีนี้ |
snapshotItem() | กลับคืนโหมดของตัวต่อไปในรายการของตัวเก็บผลลัพธ์ที่มีหลักข้อมูลที่กำหนดไว้ วิธีนี้สามารถใช้ได้เมื่อ resultType คือ UNORDERED_NODE_SNAPSHOT_TYPE หรือ ORDERED_NODE_SNAPSHOT_TYPE และใช้ snapshotLength พร้อมกับวิธีนี้ |
หน้าที่เกี่ยวข้อง
- หน้าก่อน DOM XPathExpression
- หน้าต่อไป DOM XSLTProcessor