现在我正在尝试使用 Velocity Template 从类文件生成XML文件。 在类文件中,
public List<String> temp(String str, List<String>) {
......
}
我想用这种格式生成XML文件。
<jar name="JAR2">
<signature>
<class name=" JAR2.AA.EE.Class B ">
<method name="temp" type=" java.util.List<java.lang.String> ">
<parameter type="java.lang.Integer" />
<parameter type="java.util.List<java.lang.String>" />
</method>
</class>
</signature>
</jar>
我的问题是 字符'&lt;' '&GT;'不能在属性值中使用。 我想允许这些字符'&lt;' '&GT;'在我的XML文件中。我想知道在 Velocity Engine中添加属性。 请给我一些想法。谢谢!
答案 0 :(得分:3)
您尝试使用的内容会使XML的语法无效。
相反,您必须使用它们(几乎)等效的HTML来编码这些特殊字符。
在您的情况下,他们将是:
<
的{p> <
;和>
>
。
答案 1 :(得分:1)
嗯,这不是有效的XML。想想其他一些编码方式。
也许
<method name="temp" type="java.util.List" genericTypes="java.lang.String">
或
<method name="temp" type="java.util.List[java.lang.String]">
我想您也可以将<
直接编码为<
。
答案 2 :(得分:0)
我认为我的问题并不清楚。我用这段代码得到了它。谢谢!
ve.addProperty("eventhandler.referenceinsertion.class",
"org.apache.velocity.app.event.implement.EscapeXmlReference");
ve.setProperty("eventhandler.escape.xml.match",
"/^\\$([^_\\{].*|\\{[^_].*\\})$/");