gpt4 book ai didi

xml - 通过命令行替换 xml 上的属性

转载 作者:行者123 更新时间:2023-12-02 19:32:52 24 4
gpt4 key购买 nike

我正在寻找这个问题xmlstarlet update an attribute并尝试替换 Jboss 配置文件中的属性。我在这里发布的只是 xml 的一小部分:

<?xml version='1.0' encoding='UTF-8'?>

<server xmlns="urn:jboss:domain:10.0">
<extensions>
<extension module="org.jboss.as.clustering.infinispan"/>
</extensions>
<system-properties>
<property name="hibernate.hbm2ddl.auto" value="validate"/>
</system-properties>
</server>

我想要替换的是 hibernate.hbm2ddl.auto 的值从 validateupdate

根据之前的答案,我尝试了此命令,但不更新值:

xmlstarlet edit   --update "//property[@name='hibernate.hbm2ddl.auto']/@value"   --value "update" conf.xml

我尝试遵循完整路径,但结果是相同的:没有更新。

xmlstarlet edit   --update "/server/system-properties/property[@name='hibernate.hbm2ddl.auto']/@value"   --value "update" conf.xml

最佳答案

您的文件使用 namespaces (xmlns="urn:jboss:domain:10.0")。

xmlstarlet edit --update '//*[local-name()="property"][@name="hibernate.hbm2ddl.auto"]/@value' -v "update" conf.xml

我使用//*[local-name()="property"]绕过conf.xml中的所有命名空间

关于xml - 通过命令行替换 xml 上的属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61539976/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com