.net xml转换定位器匹配未按预期工作
我有一个配置文件,其中包含以下几种数据库配置:.net xml转换定位器匹配未按预期工作,.net,transform,config,.net,Transform,Config,我有一个配置文件,其中包含以下几种数据库配置: <databases> <!-- core --> <database id="core"> ... </database> <!-- master --> <database id="master"> ... </database> <!-- web --> <
<databases>
<!-- core -->
<database id="core">
...
</database>
<!-- master -->
<database id="master">
...
</database>
<!-- web -->
<database id="web">
...
</database>
<!-- file system -->
<database id="filesystem">
...
</database>
</databases>
<databases>
<database id="web" xdt:Transform="Replace" xdt:locator="Match(id)" >
...
</database>
</databases>
...
...
...
...
我有一个像这样的转换文件:
<databases>
<!-- core -->
<database id="core">
...
</database>
<!-- master -->
<database id="master">
...
</database>
<!-- web -->
<database id="web">
...
</database>
<!-- file system -->
<database id="filesystem">
...
</database>
</databases>
<databases>
<database id="web" xdt:Transform="Replace" xdt:locator="Match(id)" >
...
</database>
</databases>
...
我期望发生的是web节点将被调出,但实际发生的是它正在调出列表中的第一个节点。我通过改变节点顺序的方法解决了这个问题,因为web配置是我们唯一改变的配置,但我想知道为什么会发生这种情况。变换属性名称区分大小写,因此忽略了
定位器。请尝试使用定位器 变换属性名称区分大小写,因此忽略locator
。试试定位器,这样就成功了!真不敢相信这是件如此愚蠢的事。想把它作为一个答案,这样我就可以标记它正确吗?