XML DOM XPathResult ¶ÔÏó

XPath ²éѯµÄ½á¹û¡£

XPathResult ¶ÔÏó

XPathResult ¶ÔÏó±íʾһ¸ö XPath ±í´ïʽµÄÖµ¡£¸ÃÀàÐ͵ĶÔÏóÓÉ Document.evaluate() ºÍ XPathExpression.evaluate() ·µ»Ø¡£XPath ²éѯ¿ÉÒÔ¼ÆËãΪ×Ö·û´®¡¢Êý×Ö¡¢²¼¶ûÖµ¡¢½ÚµãÒÔ¼°½ÚµãµÄÁÐ±í¡£XPath ʵÏÖ¿ÉÒÔÒÔ¼¸ÖÖ²»Í¬µÄ·½Ê½·µ»Ø½ÚµãµÄÁÐ±í£¬Òò´Ë£¬Õâ¸ö¶ÔÏóΪ»ñȡһ¸ö XPath ²éѯµÄʵ¼Ê½á¹û¶ø¶¨ÒåÁËÂÔΪ¸´Ô API¡£

ҪʹÓÃÒ»¸ö XPathResult£¬Ê×Ïȼì²é resultType ÊôÐÔ¡£Ëü½«±£´æÒ»¸ö XPathResult ³£Á¿¡£Õâ¸öÊôÐÔµÄÖµ¸æËßÄãÐèҪʹÓÃÄĸöÊôÐԺͷ½·¨À´È·¶¨½á¹ûÖµ¡£µ÷Óò»ÊÇΪµ±Ç°µÄ resultType ¶¨ÒåµÄ·½·¨»òÕß¶ÁÈ¡²»ÊÇΪËü¶¨ÒåµÄÊôÐԻᵼÖÂÒì³£¡£

IE ²»Ö§³Ö XPathResult API¡£ÒªÔÚ IE ÖÐÖ´ÐÐ XPath ²éѯ£¬²ÎÔÄ Node.selectNodes() ºÍ Node.selectSingleNode() ¡£

XPathResult ¶ÔÏóµÄ³£Á¿

Èçϳ£Á¿¶¨ÒåÁËÒ»¸ö XPath ²éѯ¿ÉÄÜ·µ»ØµÄÀàÐÍ¡£XPathResult ¶ÔÏóµÄ resultType ÊôÐÔ±£´æÁËÕâЩֵÖеÄÒ»¸ö£¬ÓÃÀ´Ö¸¶¨¶ÔÏó±£´æºÎÖÖ½á¹û¡£ÕâЩ³£Á¿Óë 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() ·½·¨·µ»ØÖ¸¶¨Ï±êµÄ½Úµã¡£½Úµã¿ÉÄܺÍËüÃdzöÏÖÔÚÎĵµÖеÄ˳Ðò²»Ò»Ñù¡£¼ÈÈ»ÕâÖÖ½á¹ûÊÇÒ»¸ö¡°¿ìÕÕ¡±£¬Òò´Ë¼´±ãÎĵµ·¢Éú±ä»¯£¬ËüÒ²ÓÐЧ¡£
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()

VUE