我有一个带有 2 个 XML 片段的 XML,第一个是必须应用新值的片段(可能有非常复杂的元素),例如
... some static parents
<a:element1>
<a:subelement tag="someString">
<a:s1>a</a:s1>
</a:subelement>
</a:element1>
<a:element2>b</a:element2>
<a:element3>c</a:element3>
... lots of other elements like the above ones
第二个片段具有从第一个 XML 生成的 XPath 和一个新值,例如
<field>
<xpath>/Parent/element1/subelement[@tag="someString"]/s1</xpath>
<newValue>1</newValue>
</field>
<field>
<xpath>/Parent/element2</xpath>
<newValue>2</newValue>
</field>
我们可能没有新的值来应用第一个片段中的所有元素。
我正在努力进行 XSLT 转换,该转换应将新值应用于 XPath 指示的位置。
输出应该是:
... some static parents
<a:element1>
<a:subelement tag="someString">
<a:s1>1</a:s1>
</a:subelement>
</a:element1>
<a:element2>2</a:element2>
... lots of other elements like the above ones
我可以访问 xalan:evaluate 来评估动态 xpath。我正在尝试不同的解决方案,当它们开始有意义时,我会在这里写它们。
任何方法的想法都很受欢迎。谢谢