xmlstarlet:通过其兄弟值选择元素

xmlstarlet: Selecting element by it's sibling value

我有这个 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>

我想做的是用 DisplayName = "IncognitoMode" 修改元素的 IsLoadFromLocalData 值。

我设法使用 xmlstarlet 做到了这一点,但找不到任何相关文档。 有谁知道如何做到这一点?这是我第一次尝试评估xmlstarlet。

我卡在这里了:

xmlstarlet ed --inplace -u /Products/Product/ -v "false" file.xml

此致,尼赞

尝试将其更改为

xmlstarlet edit  -u "//Product[DisplayName='IncognitoMode']//IsLoadFromLocalData" -v "false"  file.xml

看看它是否有效。