Có XML sau:
<node>Text1<subnode/>text2</node>
Làm cách nào để tôi chọn nút văn bản thứ nhất hoặc thứ hai qua XPath?
Sử dụng :
/node/text()
Cái này chọn tất cả các nút con văn bản của phần tử trên cùng (được đặt tên là "nút") của tài liệu XML.
/node/text()[1]
Cái này chọn con nút văn bản đầu tiên của phần tử trên cùng (được đặt tên là "nút") của tài liệu XML.
/node/text()[2]
Cái này chọn con nút văn bản thứ hai của phần tử trên cùng (được đặt tên là "nút") của tài liệu XML.
/node/text()[someInteger]
Cái này chọn con nút văn bản someInteger-th của phần tử trên cùng (được đặt tên là "nút") của tài liệu XML. Nó tương đương với biểu thức XPath sau:
/node/text()[position() = someInteger]
/node/text()[2]
[...] không hoạt động vì đó là kết quả hợp nhất của mọi văn bản bên trong nút Điều đó sai: nó có nghĩa là nút con văn bản thứ hai củanode
phần tử gốc . Các giá trị chuỗi (nối các nút văn bản hậu duệ) sẽ làstring(/node)