Asp.net 不带键或名称属性的转换配置文件

Asp.net 不带键或名称属性的转换配置文件,asp.net,.net,web-config,app-config,slowcheetah,Asp.net,.net,Web Config,App Config,Slowcheetah,我想转换一些属性,但无法添加名称或键属性来使用xdt:Locator=“Match(name)”或xdt:Locator=“Match(key)” 例如,我可以: <parentElement> <children> <add key="ExampleKey"> <thing attribute="blablabla"></thing> </add> &

我想转换一些属性,但无法添加名称或键属性来使用xdt:Locator=“Match(name)”或xdt:Locator=“Match(key)”

例如,我可以:

<parentElement>
    <children>
        <add key="ExampleKey">
            <thing attribute="blablabla"></thing>
        </add>
    </children>
</parentElement>

我如何用另一个值替换thing属性“blabla”

更新1:除此之外,我不能在“thing”标记中插入其他属性,因为它通过使用该属性的dll抛出一些错误

更新2:看来我不得不使用SlowCheetah,然后它工作得很好。由于预览,我发现我可以将xdt:Transform=“Replace”添加到父元素,如下所示:

<parentElement xdt:Transform="Replace">
    <children>
        <add key="ExampleKey">
            <thing attribute="blablabla"></thing>
        </add>
    </children>
</parentElement>


现在它工作得很好!:)

您可以使用带有
条件
定位器的XPath表达式来查找元素,而不是
匹配
,如中所述。i、 e



谢谢!为什么不呢?但不幸的是,在我的示例中,我无法修改thing元素,因为它在使用属性的DLL中抛出了一个错误。我更新了我的问题。@Léodavese不确定我是否理解-我回答中的代码放在转换文件中-例如
Web.Release.config
-并且生成的转换文件不应添加任何其他属性。可能我没有完全理解您的问题,因此您可能需要添加有关设置的更多详细信息。e、 这是一个Web.config转换,或者使用其他文件,或者其他什么?好的,所以我最终使用了SlowCheetah,我可以预览转换。因此,我可以可视化我的测试,并发现我可以将xdt:Transform=“Replace”添加到父元素中。谢谢你的帮助!我会更新这个问题。
<?xml version="1.0" encoding="utf-8"?>
<parentElement xmlns:xdt="http://schemas.microsoft.com/XML-Document-Transform">
  <children>
    <add>
      <thing attribute="falala" xdt:Transform="SetAttributes" xdt:Locator="Condition(@attribute = 'blablabla')"></thing>
    </add>
  </children>
</parentElement>