ruby - 搜索/解析 XML 并排除某些节点而不删除它们?
问题描述
下面的命令允许我解析除节点“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中,那么我的命令也不会返回任何不好的东西:(
解决方案
看来我找到了答案。我使用//text()[not...]
但必须找到我不想包含的文本的祖先名称:
XML.search('//text()[not(ancestor::wp14:pctHeight or ancestor::wp14:pctWidth or ancestor::wp:posOffset)]')
推荐阅读
- javascript - 如何禁用preventDefault(防止保存)并使其保存在Javascript中
- python - 如何使用ezdxf python在dxf文件中创建领导者
- reactjs - 如何用玩笑仅模拟一个测试的反应组件
- browser - 当 URI 方案的处理程序创建一个新进程时,当从浏览器调用时,新进程是否在沙盒中运行?
- python - 如何将自定义概率分布拟合到直方图
- flutter - 当我使用底部导航栏更改选项卡时,我的颤振应用程序如何记住页面状态?
- vagrant - 如果 Vagrantfile 缺少环境变量,则强制失败
- java - 无法解决 Android Studio 中的符号 jetbrains 错误
- c# - 如何在 C# 中更改 DNS IP 地址
- javascript - 获取 Discord Avatar + 用户名并将其发布在网站上?