0
我有以下XML文件:螞蟻xmltask文件拷貝
<?xml version="1.0"?>
<job>
<files>
<file src="file:\C:\tmp\myfile.xml" path="myfile.xml" format="dita"/>
<file src="file:\C:\tmp\myfile2.xml" path="myfile2.xml" format="dita"/>
</files>
</job>
我嘗試用ant腳本讀取XML文件的內容,然後想複製相應的文件。這裏是我的螞蟻腳本:
<?xml version="1.0" encoding="UTF-8"?>
<project name="TPreProcess" default="start" basedir="." >
<target name="start">
<taskdef name="xmltask" classname="com.oopsconsultancy.xmltask.ant.XmlTask"/>
<xmltask source="${basedir}${file.separator}.job.xml" report="false" >
<call path="//job/files/file[@format='dita' or @format='ditamap' ]" target="copy-xml" buffer="abc">
<param name="copySourcesFile" path="@src"/>
</call>
</xmltask>
</target>
<target name="copy-xml" depends="" unless="" description="copy xml files">
<copy file="${copySourcesFile}" todir="C:${file.separator}tmp${file.separator}test_dita${file.separator}" failonerror="false" flatten="true"/>
</target>
</project>
螞蟻腳本位於插件文件夾。在執行的ant文件的日誌文件中,始終顯示它無法找到要複製的文件。你可以看到他總是把插件文件夾放在它之前。
複製XML:
[副本]警告:找不到文件Q:\ DITA \蒂塔 - 開 - 工具包\插件\ com.xxxxx.dita.tran.process \文件:\ C:\ tmp \ myfile.txt複製。
我在做什麼錯?如何獲取實際的文件路徑並找到要複製的文件?
'copy'任務可以複製文件。爲什麼選擇xmltask? – Rao
我試圖使用xmltask,因爲我必須讀取要從xml文件(包括過濾器到某些屬性)複製的文件。有文件節點的屬性值不應複製。或者我可以不使用xmltask來讀取xml文件?一個主意? – Apollo102
複製始終根據之前的basedir條目構建路徑。當我將basedir條目更改爲「。」以外的內容時,它不再需要以前的插件文件夾。通過目標中的copySourcesFile的測試輸出,我可以看到要正確複製的實際文件名到達目標中。因此,副本本身發生了一些事情但我不知道如何防止這種情況。任何想法? – Apollo102