【发布时间】:2016-05-24 07:28:24
【问题描述】:
我正在尝试使用 xmlstarlet 从 Wildfly 集群配置更新 host-slave.xml。
我正在使用以下语句:
xml ed -N my=urn:jboss:domain:2.2 -u "_:host/management/security-realms/security-realm[@name='UndertowRealm']/server-identities/ssl/keystore/@path" -v "test" Wildfly\wildfly-8.2.0.Final\WildFly-HOST\configuration\host-slave.xml
xml中的命名空间定义:
<host name="172.16.1.11" xmlns="urn:jboss:domain:2.2" >
xml中我要修改的部分:
<security-realm name="UndertowRealm">
<server-identities>
<ssl>
<keystore path="D:\wildfly-8.2.0.Final\ssl\wildfly.keystore" keystore-password="rsaddbTsadYvvMXZ" alias="wildfly" />
</ssl>
</server-identities>
</security-realm>
但如果我从 xml 中删除命名空间定义,并使用以下语句:
xml ed -u ":host/management/security-realms/security-realm[@name='UndertowRealm']/server-identities/ssl/keystore/@path" -v "test" Wildfly\wildfly-8.2.0.Final\WildFly-HOST\configuration\host-slave.xml
它按预期工作,因此它不是 XPATH 的问题。 因为我不知道如果我删除命名空间声明会发生什么,我想保留它。
【问题讨论】:
标签: xml xml-namespaces wildfly-8 xmlstarlet