搜索/解析XML并排除某些节点而不删除它们?

问题描述 投票:0回答:1

下面的命令允许我解析除节点'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中,那么我的命令也会返回任何不好的东西:(

ruby xml nokogiri
1个回答
0
投票

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

XML.search('//text()[not(ancestor::wp14:pctHeight or ancestor::wp14:pctWidth or ancestor::wp:posOffset)]')
© www.soinside.com 2019 - 2024. All rights reserved.