2012-03-14 13 views
10

tôi có các nút sau trong web.config:xdt chuyển đổi định vị phù hợp với nội dung subnode

<configuration> 
... 
<scheduling> 
<agent> 
    <param desc="database">core</param> 
</agent> 
<agent> 
    <param desc="database">master</param> 
</agent> 
</scheduling> 
... 
</configuration> 

tôi muốn loại bỏ toàn bộ <agent> nút với nút param con với nội dung tổng thể. nhiều hơn hoặc ít hơn nút biến đổi xdt của tôi trông giống như:

<configuration> 
... 
<scheduling> 
    <agent 
     xdt:Transform="Remove" 
     xdt:Locator="XPath(./param[@desc='database']/??????)" /> 
</scheduling> 
... 
</configuration> 

như bạn thấy, tôi không biết làm thế nào để khớp với chuỗi nội dung nút. Tôi cần thêm gì vào đây?

môi trường lưu ý: windows 7 - Visual Studio 2010 SP1

Trả lời

9

Thêm một thử nghiệm thêm cho text() vào định vị. Để phù hợp với <param> nút:

xdt:Locator="XPath(./param[@desc='database' and text()='master'])"> 

EDIT: để phù hợp với <agent> nút bạn cần phải di chuyển param vào vị ngữ XPath là phù hợp:

xdt:Locator="Condition(param/@desc='database' and param/text()='master')"> 
+0

hmm lạ, đây chỉ là loại bỏ các ' nút chính ', để lại nút lurscher

+0

Tôi nghĩ bạn có '' trong dấu ngoặc kép trong bài đăng gốc và bài đăng không hiển thị chính xác (hãy thử chỉnh sửa bài đăng của bạn để xem bạn có thể hiển thị bài đăng đó không Bạn cần phải đặt backticks xung quanh nó). Tôi đã chỉnh sửa câu trả lời của tôi với cách khớp với nút ''. – bouteillebleu

+0

bạn đã đúng, chỉnh sửa – lurscher

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