xml - xmlstarlet:按其兄弟值选择元素
问题描述
我有这个 XML 文件
<?xml version="1.0" encoding="UTF-8">
<Products>
<Product>
<DisplayName>DefaultBrowserSettings</DisplayName>
<IsLoadFromLocalData>false</IsLoadFromLocalData>
<Message>Installed</Message>
</Product>
<Product>
<DisplayName>IncognitoMode</DisplayName>
<IsLoadFromLocalData>true</IsLoadFromLocalData>
<Message>Installed</Message>
</Product>
</Products>
我想要做的是用=“IncognitoMode”修改IsLoadFromLocalData
元素的值。DisplayName
我设法使用 xmlstarlet 做到了这一点,但找不到任何这样做的文档。有谁知道如何做到这一点?这是我第一次尝试评估 xmlstarlet。
我被困在这里:
xmlstarlet ed --inplace -u /Products/Product/ -v "false" file.xml
问候, 尼赞
解决方案
尝试将其更改为
xmlstarlet edit -u "//Product[DisplayName='IncognitoMode']//IsLoadFromLocalData" -v "false" file.xml
看看它是否有效。
推荐阅读
- linux - 通过 Ansible Playbook 配置 syslog 服务器
- ada - Ada - 布尔数组
- python - TypeError:“方法”类型的参数不可迭代(Tensorforce DQN 教程)
- css - Visual Studio Code 和 emmet !important CSS 修饰符
- java - Vertx 网关(apiman):同时上传 50mb 文件大小时内存不足(4-5 个请求)
- winapi - 窗口摇动手势后是否可以忽略或阻止窗口最小化
- python - 高度偏斜数据的最佳 KDE 方法?
- python - pywhatkit - 对我来说不是很有效,我做错了什么?
- android - xamarin android,键盘滚动?
- pycharm - 在 PyCharm 中安装解释器失败