Search/Parse XML 并排除某些节点而不删除它们?

Search/Parse XML and exclude certain nodes without removing them?

下面的命令允许我解析除节点 'wp14:sizeRelH' & 'wp14:sizeRelV'

之外的所有节点中的文本
XML.search('//wp14:sizeRelH', '//wp14:sizeRelV').remove.search('//text()')

我想做同样的事情,但我不想从 XML 中删除节点 'wp14:sizeRelH' 和 'wp14:sizeRelV'。

这样我就可以解析 XML 树并更改每个节点中的文本,而不会影响节点 'wp14:sizeRelH' 和 'wp14:sizeRelV'

编辑:如果节点 '//wp14:sizeRelH' 或 '//wp14:sizeRelV' 不在 XML 中,那么我的命令也 returns 没有什么不好:(

看来我找到了答案。我使用了 //text()[not...] 但不得不找到我不想包含的文本的祖先名称:

XML.search('//text()[not(ancestor::wp14:pctHeight or ancestor::wp14:pctWidth or ancestor::wp:posOffset)]')