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