通过 VTD 使用 CDATA 解析 XML
Parsing XML with CDATA via VTD
根据,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)
感谢任何帮助!
您似乎缺少尾随的 > 字符...这是终止 CDATA 分段所必需的...哇,它应该是 ]]>
更新:我进行了检查并管理了一个快速发布,其中包含在两个地方修复此错误:一个在 VTDGen.java,另一个在 VTDGenHuge.java
根据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)
感谢任何帮助!
您似乎缺少尾随的 > 字符...这是终止 CDATA 分段所必需的...哇,它应该是 ]]>
更新:我进行了检查并管理了一个快速发布,其中包含在两个地方修复此错误:一个在 VTDGen.java,另一个在 VTDGenHuge.java