最近出現此問題。我一直在使用螞蟻,並知道我可以'繞過'這個問題,但想到問:ant是否爲這個用例提供了一個優雅的解決方案?Ant:如何在使用「過濾」複製xml文件時xml-escape屬性值
問題
當我使用Ant複製XML文件和「填充值」使用「過濾」屬性,我怎麼可以讓它自動跳脫符號(和其他XML「特殊字符」)?
語境
而不是讓安裝程序/實施者手工編輯所有不同的應用程序服務器的具體配置文件,我們有他們在我們的應用程序的根目錄編輯「build.properties」文件。螞蟻拷貝該文件的預先配置的「源」版本「目標」目錄,同時從屬性填充值的文件
1)Build.properties具有此值:
JDBC_PASSWORD=smith&wesson
2)「源「配置文件有該元素:
<local-tx-datasource>
...
<password>@[email protected]</password>
...
</local-tx-datasource>
3)螞蟻複製從‘源’配置目錄中的XML文件,並填充‘JDBC_PASSWORD’(其他場所之間)與‘過濾’屬性:
<copy todir="${appserver.home.dir}" filtering="yes">
<fileset dir="${appserver.conf.dir}">
<include name="**/*.xml"/>
</fileset>
</copy>
4)因爲該屬性有一個&符號,所以產生的'target'xml文件是無效的。 (在 '&' 應該是 '&安培;')
<local-tx-datasource>
...
<password>smith&wesson</password>
...
</local-tx-datasource>
所需的結果
代替4,我想這樣的:
<local-tx-datasource>
...
<password>smith&wesson</password>
...
</local-tx-datasource>
附加
我需要擔心整個角色扮演ters',即小於,大於等,以及和號。
在此先感謝
我有同樣的問題。你是如何解決你的?你寫了一個自定義編碼器嗎?謝謝。 –