2010-12-15 26 views
33

Tôi có một div elemet:XPath - chỉ nhận được nội dung nút mà không cần các yếu tố khác

<div> 
    This is some text 
    <h1>This is a title</h1> 
    <div>Some other content</div> 
</div> 

xpath gì biểu hiện tôi nên sử dụng để chỉ nhận được nội dung div mà không cần yếu tố con mình h1div

//div[not(h1)&not(div)]

Điều gì đó tương tự? Tôi không thể hình dung nó ra

+0

Có // div/text() không hoạt động? – OrangeDog

+0

Câu hỏi hay, +1. Xem câu trả lời của tôi cho ba biểu thức XPath có thể cung cấp cho bạn không được xác định bởi "nội dung" của phần tử 'div'. –

Trả lời

46

Để có được chuỗi giá trị của div sử dụng:

string(/div) 

Đây là nối của tất cả các nút văn bản đó là hậu duệ của (trên cùng) div phần tử.

Để chọn tất cả hậu duệ nút văn bản của div sử dụng:

/div//text() 

Để có được chỉ các nút văn bản đó là con trực tiếp của div sử dụng:

/div/text() 
+0

Phản hồi hoàn hảo. –

5

xpath gì biểu thức tôi nên sử dụng để chỉ nhận được.210 nội dung mà không cần yếu tố con mình h1div

biểu thức XPath này:

/div/node()[not(self::h1|self::div)] 

Nó chọn con mỗi div gốc phần tử trừ h1 hoặc div yếu tố.

2

biểu thức như ./text() sẽ chỉ lấy nội dung của phần tử gốc.

Kính trọng, Nitin

Các vấn đề liên quan