مثلث XPathResult XML DOM
- الصفحة السابقة DOM XPathExpression
- الصفحة التالية DOM XSLTProcessor
نتيجة استعلام XPath
عنصر XPathResult
يعبر عن قيمة استعلام XPath Document.evaluate() و XPathExpression.evaluate() العودة. استعلام XPath يمكن حسابه كخطاطة، رقم، قيمة منطقية، عقدة أو قائمة بعقدات. يمكن أن يستخدم تحقيق XPath عدة طرق مختلفة لتحويل قائمة العقدات، لذا تم تعريف API المعقدة بعض الشيء لهذا الهدف للحصول على نتائج استعلام XPath الفعلية.
للحصول على XPathResult، يجب التحقق أولاً من خاصية resultType. سيتم حفظ XPathResult ثابت. هذا القيمة تخبرك بما يجب استخدامه لتحديد قيمة النتيجة. سيؤدي استدعاء طريقة ليست معرفة للresultType الحالي أو قراءة خاصية ليست معرفة لل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 وتم تعديل المستند، فإنها تكون صحيحة؛ تجعل الاستدلال غير صالح لأن النتيجة تم العودة.
- 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