【发布时间】:2015-02-22 14:46:12
【问题描述】:
我正在尝试不同的方法来向我的 XML 文件中的现有标签添加新值。
我的原始 XML:
<Server port="8005" shutdown="SHUTDOWN">
<Service name="Catalina">
<Connector port="8080" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="8443"/>
</Service>
</Server>
我希望它变成:
<Server port="8005" shutdown="SHUTDOWN">
<Service name="Catalina">
<Connector port="8080" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="8443"
scheme="https"
secure="true" SSLEnabled="true"
keyAlias="tomcat" keyPass="welcome"
keystoreFile="/data/matrix/automated-setup/openam.jks"
keystorePass="welcome" clientAuth="false" sslProtocol="TLS"/>
</Service>
</Server>
我不想在这里使用 XSLT。我怎样才能使用 sed 或 awk 做到这一点? 只能在标签下添加
【问题讨论】:
-
在linux中使用xml解析器会增加命令开销。它必须是通用的命令集,例如 sed 或 awk。
-
那么对于必须添加行的位置,
Catalina下或redirectPort等之后,是否有任何一般规则?包括更多细节 -
它只能添加到
标签下。在重定向后添加可以更好地查看添加了哪些额外的参数 -
每个连接器选项卡是否总是以“redirectPort......”结尾?在此行之后您要添加额外的行吗?
-
抱歉..我的意思是每个连接器端口选项卡都以“”结尾,在此行之前您要添加额外的行吗?