XML DOM XPathResult องค์ประกอบ

ผลลัพธ์ของ 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 พร้อมกับวิธีนี้

หน้าที่เกี่ยวข้อง

Document.evaluate() และ XPathExpression.evaluate()