假设我有一个像这样的A文档:
所需实现的目标是,使用文档 B 中提供的值来覆盖文档 A 中标记(如
<document>
<element>
<value>1</value>
<wom>bat</wom>
</element>
<bar>
<baz />
<baz />
<baz />
</bar>
</document>
以及像这样的B文档:
<document>
<element>
<value>2</value>
</element>
<bar>
</bar>
</document>
得到的结果如下:
<document>
<element>
<value>2</value>
<wom>bat</wom>
</element>
<bar>
</bar>
</document>
所需实现的目标是,使用文档 B 中提供的值来覆盖文档 A 中标记(如
element
)内的值,同时保留兄弟元素的值。但如果B中的标记为空(叶子节点),则我希望它在A中的对应项也被清空。我已经查看了此问题,但它是合并而不是覆盖。我该怎么解决这个问题?
澄清: 文档A和B具有相同的结构,但B具有较少的元素。我必须清空B中为空的每个元素,在元素内部如果不为空就覆盖每个内部元素(参见我的示例)。
*[not(normalize-space(child::node()))]
),忽略文档A中的内容。 - helderdarocha