Ant XMLTask не может вставить новый узел XML в существующий файл XML - PullRequest
2 голосов
/ 30 декабря 2011

Я просто пытаюсь скопировать один узел из существующего файла и вставить его в другой файл.Ничего фантастического.У меня также есть некоторый код для вставки узла, чтобы посмотреть, смогу ли я заставить его это сделать, но я довольно славно провалился :) Любая помощь будет принята с благодарностью

Базовый XML-файл: (input.xml)

<?xml version="1.0" encoding="UTF-8"?>
<foo>
    <bar>
        <tests>
            <test id="1"/>
            <test id="2"/>
        </tests>
    </bar>
</foo>

Мишень, на которой я бегу:

1 Ответ

3 голосов
/ 31 декабря 2011

Я понял, в чем проблема. Проблема заключалась в том, что я устанавливал выходной файл в xmltask и атрибут файла в узле вставки. Атрибут файла в узле вставки - это тот случай, когда вы хотите вставить весь XML-файл в атрибут назначения xmltask.

Не проверенный код, но что-то вроде этого должно теперь работать:

<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>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...