如何使用 ant 替换 XML 文件中的一行?

How to replace a line in XML file using ant?

我有以下 xml,

<?xml version="1.0" encoding="UTF-8"?>
<power-domains>
                <power-domain name="Security" cache-type="default">
                    <authentication>
                        <login-module code="test.module" flag="required" module="com.test.ems">
                            <module-option name="principal" value="admin"/>
                            <module-option name="userName" value="admin"/>
                            <module-option name="password" value=""/>
                        </login-module>
                    </authentication>
                </power-domain>
</power-domains>

我想用 ant 替换以下行吗?

<module-option name="userName" value="admin"/>

你能指导我怎么做吗?

使用 Ant 中的 XSLT 任务修改文档。如果您使用 XSLT 3.0,那么它是

<xsl:transform xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="3.0">
  <xsl:mode on-no-match="shallow-copy">
  <xsl:template match="module-option[@name='userName']">
    <replacement goes="here"/>
  </xsl:template>
</xsl:transform>