У меня есть следующий XML в моей веб-конфигурации, и я бы хотел выбрать атрибут для удаления с помощью преобразований web.config, но я хотел бы выбрать элемент для удаления основанный на значении одного из дочерних элементов.Выберите узел на основе значения дочернего узла в Web.config Transform
Моя web.config что-то вроде этого:
<configuration>
<sitecore>
<scheduling>
<agent type="Sitecore.Tasks.DatabaseAgent">
<param desc="database">core</param>
</agent>
<agent type="Sitecore.Tasks.DatabaseAgent">
<param desc="database">master</param>
</agent>
</scheduling>
</sitecore>
</configuration>
Я попытался следующие, чтобы попытаться выбрать второй элемент агента для удаления на основе дочернего элемента <param desc="database">master</param>
, но без успеха.
<configuration>
<sitecore>
<scheduling>
<!-- Attempt 1 -->
<agent type="Sitecore.Tasks.DatabaseAgent"
xdt:Transform="Remove"
xdt:Locator="XPath(configuration/sitecore/scheduling/agent/param[text()='master'])"/>
<!-- Attempt 2 -->
<agent type="Sitecore.Tasks.DatabaseAgent"
xdt:Transform="Remove">
<param desc="database"
xdt:Locator="XPath([text()='master'])"/>
</agent>
</scheduling>
</sitecore>
</configuration>
Если вы хотите совместить ' master', этот xpath будет более точным: 'param [@ desc = 'database']/text() = 'master''. В противном случае вы могли бы сопоставить ' master '. –