Я просто пытаюсь скопировать один узел из существующего файла и вставить его в другой файл. Ничего особенного. У меня также есть некоторый код для вставки узла, чтобы увидеть, если я мог бы заставить его сделать это, но мне не удалось, а славно :) Любая помощь будет принята с благодарностьюAnt XMLTask не может вставить новый XML-узел в существующий файл XML
Base XML файла: (Input.xml)
<?xml version="1.0" encoding="UTF-8"?>
<foo>
<bar>
<tests>
<test id="1"/>
<test id="2"/>
</tests>
</bar>
</foo>
муравей цели я бегу:
<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>
Там, кажется, не будет какой-либо вопрос ... Пожалуйста, предоставьте seconf документ XML, в котором вы должны включить « "узла из первого документа XML. Укажите, какой именно узел из первого документа должен быть вставлен во второй документ. Укажите, где именно во втором документе должен быть вставлен узел. –
Также, как этот вопрос связан с XPath? Вставка узла в документ XML не может быть выполнена с помощью XPath, который является языком запросов (только) для XML-документов и, как таковой, не может создавать/изменять XML-документы. –
XMLTask для муравьев использует нотацию Xpath. Если вы посмотрите на цель write-config, вы увидите, что создается файл с именем output.xml, в котором есть xml. Узел я пытаюсь вставить в <тест ID = "3" /> Я хотел бы ожидать выход выглядеть примерно так: <идентификатор теста = "3" /> –
gdoubleod