有没有办法根据子属性定位节点?或者删除匹配节点的父节点?
我需要运行web.config转换来删除第二个< dependentAssembly>在下面:
<runtime>
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
<!-- Don't want to delete this one -->
<dependentAssembly>
<assemblyIdentity name="System.Web.Helpers" publicKeyToken="31bf3856ad364e35"/>
<bindingRedirect oldVersion="1.0.0.0-2.0.0.0" newVersion="2.0.0.0"/>
</dependentAssembly>
<!-- This is the one I want to delete -->
<dependentAssembly>
<assemblyIdentity name="Microsoft.VisualStudio.Enterprise.AspNetHelper" publicKeyToken="b03f5f7f11d50a3a" culture="neutral"/>
<codeBase version="11.0.0.0" href="file:///C:/Program%20Files%20(x86)/Microsoft%20Visual%20Studio%2011.0/Common7/IDE/PrivateAssemblies/Microsoft.VisualStudio.Enterprise.AspNetHelper.DLL"/>
</dependentAssembly>
</assemblyBinding>
</runtime>
查找&lt; assemblyIdentity&gt;很容易,但我需要删除父&lt; dependentAssembly&gt; (和&lt; codeBase&gt;)。如果有一个“xdt:Transform =”RemoveParent“这可以解决问题,但AFAIK没有。
或者,如果有一个Locator,我可以在&lt; dependentAssembly&gt;上使用。哪个会匹配孩子,那也可以起作用。
答案 0 :(得分:0)
您可以使用此解决方案:Clearing out xdt element if it has no children
2个步骤: - 首先删除孩子 - 其次删除空的assemblyBinding元素。