[英]how to escape special chars (invalid in xml) in Ant echo?
我正在嘗試在Ant中執行此操作:
<echo message="[44;1;37mSuccess![m" />
但這不起作用:
BUILD FAILED
./build.xml:92: Character reference "&#
怎么做?
XML內容中的0x1B字符無效(XML中的無效字符 )。 因此,您需要一些解決方法。 我會采用JavaScript解決方法,但我還會提供2個其他解決方案:
<script language="javascript">
project.setNewProperty("esc", "\u001b");
</script>
<echo>${esc}</echo>
如果要在文件中輸出,則可以先使用java escape \
將其輸出,然后使用反向Native2Ascii例程將其轉換。 無論選擇哪種編碼,它始終會解碼
\\u\u003c/code>序列。
<echo file="a.enc">\u001b</echo>
<native2ascii includes="a.enc" ext=".txt" dest="${basedir}"
encoding="iso-8859-1" reverse="true" />
屬性文件
最后,您可能在文件中有不幸的字符串常量:
<property file="prop.txt" />
<echo>myEsc:${myEsc}</echo>
而
prop.txt
內容是:
myEsc=\u001b
只需使用CDATA:
<project>
<echo><![CDATA[
[44;1;37mSuccess![m
]]>
</echo>
</project>
&是ant中的特殊字符,因此您應將其替換為'
<echo message="&#27;[44;1;37mSuccess!&#27;[m" />
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.