4

How can I either select a comment or insert a comment using Web.config transforms?

Nowhere can I find any information on this.

I am trying to do either: 1) Insert a piece of xml (<serviceAuthorization impersonateCallerForAllOperations="true"/>) before an existing comment in the Web.config

OR

2) Insert a comment and xml at the end of a set of siblings:

Web.config 変換が xPath 軸をサポートしていないことがわかる限り、最初のコメントの前にノードを挿入するためにいくつか試してみました。

<serviceAuthorization impersonateCallerForAllOperations="true" xdt:Transform="InsertBefore(/configuration/system.serviceModel/behaviors/serviceBehaviors/behavior[@name='behaviorOne']/serviceMetadata/preceding::comment()[1])"/>

<serviceAuthorization impersonateCallerForAllOperations="true" xdt:Transform="InsertBefore(/configuration/system.serviceModel/behaviors/serviceBehaviors/behavior[@name='behaviorOne']/child::node()[1]"/>

私は他のいくつかを試しましたが、あなたはアイデアを得る. 変換をプレビューするとエラーが発生します。

また、コメントを挿入する方法に関する情報が見つからないようです。何か不足していますか?

4

2 に答える 2

2

変換は、要素または属性の操作に限定されていると思います。少なくとも、 xdt:Transformに関するドキュメントには、コメントを追加するために使用できるものについては言及されていません。

ロケーターに関しては、私が以下を使用することができたので、軸のサポートがあるようです:

<spring >
<objects xmlns="http://www.springframework.net">
  <object >
    <constructor-arg index="0" type="System.Uri" value="https://example.com/test" xdt:Locator="Condition(../@name='requestConfig' and @index='0')" xdt:Transform="SetAttributes(value)"/>
  </object>
</objects>

以下で操作する場合:

<spring >
<objects xmlns="http://www.springframework.net">
    <object name="requestConfig" type="Example.Namespace.RequestConfig, Example" singleton ="true">
        <constructor-arg index="0" type="System.Uri" value="https://example.com/production"/>
        <constructor-arg index="1" value="45000"/>
    </object>
</objects>

ご覧のとおり、上記では、変換する要素を一致させるために親軸を使用しています。

于 2012-09-04T21:54:29.940 に答える