我正在尝试将未知数量的HTML文件连接到一个XML文件中。 这没问题:
<concat destfile="${temp.dir}/file.xml" encoding="UTF-8" outputencoding="UTF-8">
<fileset dir="${html.dir}" includes="**/*.html" />
</concat>
现在我要做的是,对于fileset
的每个文件,将其路径插入到连接文件中。
我在C:\whatever\sources
中有以下HTML文件:
在结果XML文件中,我想得到:
<allfiles>
<html url="C:\whatever\sources\A.html>...content of A.html...</html>
<html url="C:\whatever\sources\B.html>...content of B.html...</html>
</allfiles>
有没有办法在没有重新发明轮子的情况下完成这项工作,如果可能的话,不使用ant-contrib
?
答案 0 :(得分:0)
作为mentioned,您可以使用scriptfilter
内部filterchain
任务在Ant版本中运行Javascript。
例如:
<concat destfile="${temp.dir}/file.xml" encoding="UTF-8" outputencoding="UTF-8">
<fileset dir="${html.dir}" includes="**/*.html" id="my-files"/>
<filterchain>
<tokenfilter>
<filetokenizer />
<scriptfilter language="javascript" byline="false"><![CDATA[
content = self.getToken();
// Modify content of token.
//content=content.replaceAll("(?s)/\\*.*?\\*/","");
self.setToken(content);
]]></scriptfilter>
</tokenfilter>
<striplinecomments>
<comment value="//"/>
</striplinecomments>
<striplinebreaks/>
</filterchain>
</concat>
在以下位置查找更多示例: