Локатор преобразования xdt, соответствующий содержимому подузла
У меня есть следующий узел в web.config:
<configuration>
...
<scheduling>
<agent>
<param desc="database">core</param>
</agent>
<agent>
<param desc="database">master</param>
</agent>
</scheduling>
...
</configuration>
я хочу удалить весь <agent>
узел с дочерним узлом param с основным содержимым. более или менее мой узел преобразования xdt выглядит так:
<configuration>
...
<scheduling>
<agent
xdt:Transform="Remove"
xdt:Locator="XPath(./param[@desc='database']/??????)" />
</scheduling>
...
</configuration>
Как вы видите, я понятия не имею, как сопоставить со строкой содержимого узла. Что мне нужно добавить сюда?
Примечания к среде: Windows 7 - Visual Studio 2010 SP1
1 ответ
Решение
Добавить дополнительный тест для text()
в локатор. Чтобы соответствовать <param>
узел:
xdt:Locator="XPath(./param[@desc='database' and text()='master'])">
РЕДАКТИРОВАТЬ: чтобы соответствовать <agent>
узел вам нужно переместить param
в предикат, что XPath совпадает:
xdt:Locator="Condition(param/@desc='database' and param/text()='master')">