2011-11-02 5 views
20

Nếu tôi đã chọn một phần tử sử dụng XPATH làm cách nào tôi có thể lấy tên của phần tử đó?
Tôi có nghĩa là chức năng text()//element/[@id=elid]/text().Nhận tên của phần tử trong XPATH

Trả lời

44

Sử dụng name()

Dưới đây là sửa đổi phiên bản của ví dụ của bạn:

trình trong XPath 2.0 chỉ:

//element/*[@id='elid']/name() 

trình trong XPath 1.0 và 2.0:

name(//element/*[@id='elid']) 

Bạn cũng có thể sử dụng local-name() trả về phần địa phương của expanded name (không có bất kỳ tiền tố không gian tên nào).

1

Cây tên thẻ cũng có thể thu được với

echo "du //Element/*" | xmllint --shell response-02.xml 
Ele1 
    id 
    name 
    Nested1 
     id 
     name 
Ele2