XML DOM XPathResult آوٹھا

نتایج جستجوی XPath.

موضوع XPathResult

موضوع XPathResult نمایانگر مقدار یک عبارت XPath است. این نوع موضوع توسط Document.evaluate() اور XPathExpression.evaluate() باز آمد. جستجوی XPath می‌تواند به عنوان یک رشته، عدد، مقدار بولین، نود و لیست نود محاسبه شود. پیاده‌سازی XPath می‌تواند به چندین روش مختلف لیست نود را بازگرداند، بنابراین، این شیء برای دریافت نتیجه واقعی یک جستجوی XPath تعریف شده API پیچیده‌تری دارد.

برای استفاده از یک 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 کا ایک معین کارکردگی محفوظ رکھتے ہوئے اور اس کی مدد سے اپنی پوری مدد فراہم کرتی ہیں، جب تک کہ آپ کسی کارکردگی کا استعمال نہ کریں جو اس کا تعین نہ کیا گیا ہو، تو اس کی مدد سے ناگاوار حالت آئیگی۔

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()