XML DOM XPathResult đối tượng
- Trang trước DOM XPathExpression
- Trang tiếp theo DOM XSLTProcessor
Kết quả của truy vấn XPath.
Đối tượng XPathResult
Đối tượng XPathResult biểu thị giá trị của biểu thức XPath. Loại đối tượng này được Document.evaluate() và XPathExpression.evaluate() Quay lại. Truy vấn XPath có thể tính toán thành chuỗi, số, giá trị布尔, nút và danh sách các nút. Thực hiện XPath có thể trả về danh sách các nút bằng nhiều cách khác nhau, vì vậy, đối tượng này đã định nghĩa API phức tạp hơn để lấy kết quả thực tế của truy vấn XPath.
Để sử dụng một XPathResult, trước tiên kiểm tra thuộc tính resultType. Nó sẽ lưu trữ một hằng số XPathResult. Giá trị của thuộc tính này sẽ cho biết bạn cần sử dụng thuộc tính và phương thức nào để xác định giá trị kết quả. Gọi phương thức hoặc đọc thuộc tính không được định nghĩa cho resultType hiện tại sẽ gây ra ngoại lệ.
IE không hỗ trợ API XPathResult. Để thực hiện truy vấn XPath trong IE, xem Node.selectNodes() và Node.selectSingleNode() .
Các hằng số của đối tượng XPathResult
Các hằng số này xác định loại có thể được trả về bởi một truy vấn XPath. Thuộc tính resultType của đối tượng XPathResult lưu trữ một trong các giá trị này, để chỉ định đối tượng lưu trữ loại kết quả nào. Các hằng số này được sử dụng cùng với Document.evaluate() và XPathExpression.evaluate() để chỉ định loại kết quả mong đợi.
Các hằng số này và ý nghĩa của chúng như sau:
- ANY_TYPE
- Chuyển giao giá trị này cho Document.evaluate() hoặc XPathExpression.evaluate() để chỉ định loại kết quả được chấp nhận. Thuộc tính resultType không thiết lập giá trị này.
- NUMBER_TYPE
- numbervalue lưu trữ kết quả.
- STRING_TYPE
- stringvalue lưu trữ kết quả.
- BOOLEAN_TYPE
- booleanValue lưu trữ kết quả.
- UNORDERED_NODE_ITERATOR_TYPE
- Kết quả là bộ sưu tập các nút không theo thứ tự, có thể truy cập theo thứ tự bằng cách gọi lại phương thức iterateNext() cho đến khi trả về null. Trong quá trình迭代 này, tài liệu không được thay đổi.
- ORDERED_NODE_ITERATOR_TYPE
- Kết quả là danh sách các nút, được sắp xếp theo thuộc tính trong tài liệu, có thể truy cập theo thứ tự bằng cách gọi lại phương thức iterateNext() cho đến khi trả về null. Trong quá trình迭代 này, tài liệu không được thay đổi.
- UNORDERED_NODE_SNAPSHOT_TYPE
- Kết quả là một danh sách các nút truy cập ngẫu nhiên. Thuộc tính snapshotLength xác định độ dài của danh sách, và phương thức snapshotItem() trả về nút tại chỉ số được chỉ định. Các nút có thể khác với thứ tự xuất hiện trong tài liệu. Do kết quả này là một 'screenshot', vì vậy ngay cả khi tài liệu thay đổi, nó vẫn hiệu lực.
- ORDERED_NODE_SNAPSHOT_TYPE
- Kết quả này là một danh sách các nút truy cập ngẫu nhiên, giống như UNORDERED_NODE_SNAPSHOT_TYPE, nhưng danh sách này được sắp xếp theo thứ tự trong tài liệu.
- ANY_UNORDERED_NODE_TYPE
- Thuộc tính singleNodeValue tham chiếu đến một nút khớp với truy vấn, nếu không có nút khớp,则为 null. Nếu có nhiều nút khớp với truy vấn, singleNodeValue có thể là bất kỳ nút khớp nào.
- FIRST_ORDERED_NODE_TYPE
- singleNodeValue lưu trữ nút đầu tiên trong tài liệu khớp với truy vấn, nếu không có nút khớp,则为 null.
Thuộc tính của đối tượng XPathResult
Nhiều thuộc tính ở đây chỉ có hiệu lực khi resultType lưu trữ một giá trị cụ thể. Việc truy cập vào thuộc tính không được định nghĩa cho resultType hiện tại sẽ gây ra ngoại lệ.
- booleanValue
- Khi resultType là BOOLEAN_TYPE, lưu trữ giá trị kết quả.
- invalidIteratorState
- Nếu resultType là một trong các hằng số ITERATOR_TYPE và tài liệu đã được thay đổi,则为 true; nó làm vô hiệu hóa iterators vì kết quả đã được trả về.
- numberValue
- Khi resultType là NUMBER_TYPE, lưu trữ giá trị kết quả.
- resultType
- Sử dụng XPath để tra cứu loại kết quả nào sẽ được trả về. Giá trị của nó là một trong các hằng số đã liệt kê. Giá trị của thuộc tính này cho biết bạn có thể sử dụng những thuộc tính và phương thức nào khác.
- singleNodeValue
- Khi resultType là XPathResult.ANY_UNORDERED_NODE_TYPE hoặc XPathResult.FIRST_UNORDERED_NODE_TYPE, lưu trữ giá trị kết quả.
- snapshotLength
- Khi resultType là UNORDERED_NODE_SNAPSHOT_TYPE hoặc ORDERED_NODE_ITERATOR_TYPE, xác định số lượng nút trả về. Sử dụng thuộc tính này cùng với snapshotItem().
- stringValue
- Khi resultType là STRING_TYPE, lưu trữ giá trị kết quả.
Phương thức của XPathResult đối tượng
Phương thức | Mô tả |
---|---|
iterateNext() | Nếu resultType là UNORDERED_NODE_ITERATOR_TYPE hoặc ORDERED_NODE_ITERATOR_TYPE, sử dụng phương thức này. |
snapshotItem() | Trả về nút tại vị trí chỉ định trong danh sách kết quả. Phương thức này chỉ có thể được sử dụng khi resultType là UNORDERED_NODE_SNAPSHOT_TYPE hoặc ORDERED_NODE_SNAPSHOT_TYPE. Sử dụng thuộc tính snapshotLength cùng với phương thức này. |
Trang liên quan
- Trang trước DOM XPathExpression
- Trang tiếp theo DOM XSLTProcessor