通过VTD解析XML与CDATA

时间:2017-06-14 10:18:07

标签: xml cdata vtd-xml

根据this answer,VTD应该能够使用CDATA解析记录。 但是,似乎解析不适用于版本2.13(来自maven repo)和从sourceforge下载的最新2.13.2。

这是我正在使用的测试:

private String xmlCDATA = "<p><![CDATA[ [Hello [World]] ! ]]></p>" ;";

@Test
public void testCDATA() throws Exception {
    VTDGen vg = new VTDGen();
    vg.setDoc(xmlCDATA.getBytes());
    vg.parse(false);
}

我得到的例外:

        com.ximpleware.ParseException: Error in CDATA: Invalid termination sequence
    Line Number: 1 Offset: 27
    at com.ximpleware.VTDGen.process_cdata(VTDGen.java:3092)
    at com.ximpleware.VTDGen.parse(VTDGen.java:2640)

感谢任何帮助!

1 个答案:

答案 0 :(得分:0)

您似乎错过了尾随&gt;字符...终止CDATA segement所需的...哇,应该是]]&gt;

更新:我做了一个检查并管理了一个快速发布,其中包含两个地方对此错误的修复:一个在VTDGen.java中,另一个在VTDGenHuge.java中