Java 使用Ant xmltask或perl脚本在两个xml文件之间添加/删除/更新条目

Java 使用Ant xmltask或perl脚本在两个xml文件之间添加/删除/更新条目,java,xml,perl,ant,xmltask,Java,Xml,Perl,Ant,Xmltask,这是第一个xml文件input.xml input.xml: <Mapping> <Common> <Apps> <App ID = "id1"> <config key = "Format" value = "PDF"/> </App> <App ID

这是第一个xml文件input.xml

input.xml

<Mapping>
        <Common>
            <Apps>
                <App ID = "id1">
                <config key = "Format" value = "PDF"/>
                </App>
                <App ID = "id2">
                <config key = "Logging" value = "no"/>
                <config key = "ExtraLogging" value = "no"/>
                </App>
            </Apps>

            <All>
            <config key="log1" value="N"/>
            </All>
        </Common>
</Mapping>

需要读取input.xml并在output.xml中添加/删除/更新相应的条目

output.xml:

    <Mapping>
            <Common>
                <Apps>
                    <App ID = "id1">
                    <config key = "Format" value = "DOC"/>
                    </App>
                    <App ID = "id2">
                    <config key = "Logging" value = "yes"/>
                    </App>
                </Apps>

                <All>
                <config key="log1" value="N"/>
                </All>
            </Common>
    </Mapping>

使用您将要编写的

xmlstarlet ed \
    -u '//App[@ID="id1"]/config[@key="Format"]/@value' -v "DOC" \
    -u '//App[@ID="id2"]/config[@key="Logging"]/@value' -v "yes" \
    -d '//App[@ID="id2"]/config[@key="ExtraLogging"]' \
        input.xml > output.xml

请出示您遇到问题的代码。我无法发布代码。您知道如何处理此ant xmltask代码中未找到的标记吗?任务代码:在a/b/c下找到一个节点。为什么您无法发布代码?