Локатор преобразования 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')">
Другие вопросы по тегам