【发布时间】:2019-09-30 07:35:27
【问题描述】:
我正在尝试使用 Microsoft.Web.XmlTransform.dll 来更新 xml 文档。如果带有子元素的组件没有匹配的属性名称,我需要插入一个新的组件元素。
变换:
<config>
<assembly xdt:Transform="Insert" xdt:Locator="Condition(./assembly/file/@name!='qux.dll')>
<file name='qux.dll>
</assembly>
</config>
原始配置:
<config>
<assembly>
<file name='foo.dll>
</assembly>
<assembly>
<file name='bar.dll>
</assembly>
<assembly>
<file name='qux.dll>
</assembly>
</config>
输出:
<config>
<assembly>
<file name='foo.dll>
</assembly>
<assembly>
<file name='bar.dll>
</assembly>
<assembly>
<file name='qux.dll>
</assembly>
<assembly>
<file name='qux.dll>
</assembly>
</config>
预期输出:
<config>
<assembly>
<file name='foo.dll>
</assembly>
<assembly>
<file name='bar.dll>
</assembly>
<assembly>
<file name='qux.dll>
</assembly>
</config>
我假设 xdt:Locator="Condition(./assembly/file/@name!='qux.dll') 不正确,但我无法让它按预期工作。
【问题讨论】:
标签: xslt xpath slowcheetah