我在我的web配置中有以下
XML,我想使用web.config转换选择要删除的属性,但我想根据其中一个子元素的值选择要删除的元素.
我的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>
解决方法
正如在
this question中回答的那样,xdt:Locator属性需要使用Condition语法.所以选择的选择器是:
<agent type="Sitecore.Tasks.DatabaseAgent" xdt:Transform="Remove" xdt:Locator="Condition(param/@desc='database' and param/text()='master')" />
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。