SlowCheetah 在我的 xml 中转换了错误的元素
SlowCheetah transforms wrong element in my xml
我有一个 web.config
文件,我想使用 SlowCheetah 对其进行转换。相关片段如下所示:
<configuration>
<location path="ui/cms">
<system.web>
<authorization>
<allow roles="AAA" />
</authorization>
</system.web>
</location>
<location path="WebServices">
<system.web>
<authorization>
<allow roles="BBB" />
</authorization>
</system.web>
</location>
</configuration>
我想将值 BBB
转换为 CCC
,所以我写了我的 Web.CCC.config
转换文件:
<configuration xmlns:xdt="http://schemas.microsoft.com/XML-Document-Transform">
<location path="WebServices">
<system.web>
<authorization>
<allow roles="CCC" xdt:Transform="Replace" />
</authorization>
</system.web>
</location>
</configuration>
不幸的是,它导致 CCC
被插入到 <location path="ui/cms">
而不是 <location path="WebServices">
- 可能是因为它是它在我的 web.config
文件中找到的第一个。
如何让 SlowCheetah 注意到不同的 path
参数,并替换我的 xml 文件中的正确节点?
事实证明,这可以在转换文件中使用 xdt:Locator
获得。
<configuration xmlns:xdt="http://schemas.microsoft.com/XML-Document-Transform">
<location path="WebServices" xdt:Locator="Match(path)>
<system.web>
<authorization>
<allow roles="CCC" xdt:Transform="Replace" />
</authorization>
</system.web>
</location>
</configuration>
希望对大家有所帮助。 Rubber duck debugging 似乎与 SO 一起工作。
我有一个 web.config
文件,我想使用 SlowCheetah 对其进行转换。相关片段如下所示:
<configuration>
<location path="ui/cms">
<system.web>
<authorization>
<allow roles="AAA" />
</authorization>
</system.web>
</location>
<location path="WebServices">
<system.web>
<authorization>
<allow roles="BBB" />
</authorization>
</system.web>
</location>
</configuration>
我想将值 BBB
转换为 CCC
,所以我写了我的 Web.CCC.config
转换文件:
<configuration xmlns:xdt="http://schemas.microsoft.com/XML-Document-Transform">
<location path="WebServices">
<system.web>
<authorization>
<allow roles="CCC" xdt:Transform="Replace" />
</authorization>
</system.web>
</location>
</configuration>
不幸的是,它导致 CCC
被插入到 <location path="ui/cms">
而不是 <location path="WebServices">
- 可能是因为它是它在我的 web.config
文件中找到的第一个。
如何让 SlowCheetah 注意到不同的 path
参数,并替换我的 xml 文件中的正确节点?
事实证明,这可以在转换文件中使用 xdt:Locator
获得。
<configuration xmlns:xdt="http://schemas.microsoft.com/XML-Document-Transform">
<location path="WebServices" xdt:Locator="Match(path)>
<system.web>
<authorization>
<allow roles="CCC" xdt:Transform="Replace" />
</authorization>
</system.web>
</location>
</configuration>
希望对大家有所帮助。 Rubber duck debugging 似乎与 SO 一起工作。