xmlstarlet:通过同级值选择元素

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

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

我想要做的是使用

IsLoadFromLocalData
= "IncognitoMode" 修改元素的
DisplayName
值。

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

我被困在这里:

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

问候,尼赞

xml cmd xmlstarlet
1个回答
2
投票

尝试将其更改为

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

看看它是否有效。

© www.soinside.com 2019 - 2024. All rights reserved.