首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Ant XMLTask无法将新的xml节点插入到现有XML文件中

Ant XMLTask无法将新的xml节点插入到现有XML文件中
EN

Stack Overflow用户
提问于 2011-12-30 15:46:54
回答 1查看 5.7K关注 0票数 2

我只是尝试从现有文件中复制一个节点,并将其粘贴到另一个文件中。没什么花哨的。我也有一些代码来插入节点,看看是否可以让它这样做,但我失败了:)任何帮助都将不胜感激

基本XML文件:(input.xml)

代码语言:javascript
复制
<?xml version="1.0" encoding="UTF-8"?>
<foo>
    <bar>
        <tests>
            <test id="1"/>
            <test id="2"/>
        </tests>
    </bar>
</foo>

我正在运行的ant目标:

代码语言:javascript
复制
<target name="copy">
    <xmltask source="input.xml" dest="1.xml">
        <copy path="/foo/bar/tests/test[@id='1']" buffer="storedXml" />
    </xmltask>
</target>

<target name="paste-xml" depends="define-tasks,copy">
    <xmltask source="input.xml" dest="output.xml">
        <insert path="/foo/bar/tests/test[last()]" file="output.xml" buffer="storedXml"/>
    </xmltask>
</target>

<target name="insert-xml" depends="define-tasks">
    <xmltask source="input.xml" dest="output.xml">
        <insert path="/foo/bar/tests/test[last()]" file="output.xml">
            <![CDATA[
            <test id="3"/>
            ]]>
        </insert>
    </xmltask>
</target>

<target name="write-config" depends="define-tasks">
    <delete file="output.xml" failonerror="false"/>
    <echoxml file="output.xml">
        <foo>
            <bar>
                <tests/>
            </bar>
        </foo>
    </echoxml>
</target>
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2011-12-31 13:40:19

我知道问题出在哪里了。问题是我在xmltask中设置了输出文件,在insert节点中设置了file属性。当您想要将整个xml文件插入到xmltask的目标属性中时,插入节点中的file属性。

没有经过测试的代码,但现在应该可以工作了:

代码语言:javascript
复制
<target name="paste-xml" depends="define-tasks,copy">
    <xmltask source="input.xml" dest="output.xml">
        <insert path="/foo/bar/tests/test[last()]" buffer="storedXml"/>
    </xmltask>
</target>

<target name="insert-xml" depends="define-tasks">
    <xmltask source="input.xml" dest="output.xml">
        <insert path="/foo/bar/tests/test[last()]">
            <![CDATA[
            <test id="3"/>
            ]]>
        </insert>
    </xmltask>
</target>
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/8677324

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档