XML PCDATA和<和>编码

时间:2013-06-20 22:14:34

标签: xml dtd

我必须在xml文件中编写一些自动生成的java代码。

dtd是第三方,因此我无法修改that.body标签声明。

我必须编写的代码类似于java:  列表< String> valueList = new ArrayList<>();

我尝试了以下几项:  List< String> valueList = new ArrayList<>();

列表& lt; String& gt; valueList = new ArrayList<>();

但是我得到了:org.xml.sax.SAXParseException; 元素的内容必须由格式良好的字符数据或标记组成。

任何想法我做错了什么。

我必须在xml中编写java代码,没有解决方法。如果没有任何作用,我必须放弃使用仿制药。

有什么建议吗?

1 个答案:

答案 0 :(得分:1)

在您的示例中,您已经逃脱了第一个左尖括号(和第一个右尖括号,它很漂亮且对称但不是必需的)。但是你没有逃脱第二次。字符串

List &#60;String &#62; valueList = new ArrayList<>();

不允许作为PCDATA内容,因为它包含未转义的左尖括号。尝试

List &#60;String &#62; valueList = new ArrayList&#60;&#62;();