xpath – Web.Config转换xml注释

如何使用Web.config转换选择注释或插入注释?

在任何地方我都找不到任何相关信息.

我试图这样做:
1)在Web.config中的现有注释之前插入一段xml(< serviceAuthorization impersonateCallerForAllOperations =“true”/>)

要么

2)在一组兄弟姐妹的末尾插入注释和xml:

据我所知,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]"/>

我尝过其他几个,但你明白了.我在预览变换时遇到错误.

我似乎也无法找到有关如何插入评论的任何信息.我错过了什么吗?

最佳答案 我相信转换仅限于对元素或属性进行操作.至少,xdt:Transform上的
documentation都没有提及任何可用于添加注释的内容.

至于Locator,似乎有一些支持轴,因为我能够使用以下内容:

<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>

如您所见,上面使用父轴以匹配要转换的元素.

点赞