如何删除所有并使用配置转换添加一些新元素

时间:2016-02-12 02:28:48

标签: .net xml xslt app-config

我的网络配置中有以下块

<nlog xmlns="http://www.nlog-project.org/schemas/NLog.xsd" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
    <rules>
        <logger name="*" minlevel="Trace" writeTo="dev" />
        <logger name="*" minlevel="Debug" writeTo="file" />
        <logger name="*" minLevel="Info" writeTo="growl" />
    </rules>
</nlog>

我希望通过删除所有规则并添加新规则来对其进行转换

<nlog xmlns="http://www.nlog-project.org/schemas/NLog.xsd" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
    <rules>
        <logger name="*" minlevel="Debug" writeTo="graylog" />
    </rules>
</nlog>

我试过这个

<nlog xmlns="http://www.nlog-project.org/schemas/NLog.xsd" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
    <rules>
        <logger xdt:Transform="RemoveAll" />
        <logger name="*" minlevel="Debug" writeTo="graylog" />
    </rules>
</nlog>

但这只是清除了<rules>元素。

什么是正确的变换?

1 个答案:

答案 0 :(得分:1)

您还需要为新记录指定transform action

<logger name="*" minlevel="Debug" writeTo="graylog" xdt:Transform="Insert" />