Visual studio 2010 转换web.config中的特定节点

Visual studio 2010 转换web.config中的特定节点,visual-studio-2010,web-config,transformation,Visual Studio 2010,Web Config,Transformation,我想使用VS2010 web.config转换功能,但我不确定应该使用XPath来替换某个值 我已定义以下客户端服务端点: <client> <endpoint name="IMyService" address="net.tcp://x.x.x.x:xx/MySvc" binding="netTcpBinding" bindingConfiguration="..."

我想使用VS2010 web.config转换功能,但我不确定应该使用XPath来替换某个值

我已定义以下客户端服务端点:

<client>
    <endpoint   name="IMyService"
                address="net.tcp://x.x.x.x:xx/MySvc"
                binding="netTcpBinding"
                bindingConfiguration="..."
                contract="..."
                >
        <identity>
            <servicePrincipalName value="host/testMachine.domain.com" />
        </identity>
    </endpoint>
</client>
由于可能定义了多个客户端端点,我更喜欢使用XPath来标识特定的端点节点(在本例中,其中name=“IMyService”)

所以在伪代码中,我需要这样做:

<servicePrincipalName value="host/productionMachine.domain.com" 
                      xdt:Transform="Replace" 
                      xdt:Locator="Condition([containing endpoint node] @name='IMyService')" 
                      />


有人能告诉我这些方括号应该放在哪里吗,或者给我展示一下替换特定节点的其他时髦方法吗?

我将匹配并替换端点节点,如下所示:

<client>
    <endpoint name="IMyService"
            address="net.tcp://x.x.x.x:xx/MySvc"
            binding="netTcpBinding"
            bindingConfiguration="..."
            contract="..."
            xdt:Transform="Replace"
            xdt:Locator="Match(name)"
            >
        <identity>
            <servicePrincipalName value="host/productionMachine.domain.com" />
        </identity>
    </endpoint>
</client>

谢谢,我将在几天后测试此功能(现在是周末),我会让您知道它的运行情况。
<client>
    <endpoint name="IMyService"
            address="net.tcp://x.x.x.x:xx/MySvc"
            binding="netTcpBinding"
            bindingConfiguration="..."
            contract="..."
            xdt:Transform="Replace"
            xdt:Locator="Match(name)"
            >
        <identity>
            <servicePrincipalName value="host/productionMachine.domain.com" />
        </identity>
    </endpoint>
</client>