xml 变换定位器匹配未按预期工作
xml transform locator match not working as expected
我有一个配置文件,其中包含多个数据库配置,如下所示:
<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
被忽略。请尝试 Locator
。
我有一个配置文件,其中包含多个数据库配置,如下所示:
<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
被忽略。请尝试 Locator
。