2017-06-14 17 views
2

this answerによれば、VTDはCDATAのレコードを解析できるはずです。 しかし、バージョン2.13(mavenリポジトリから)とsourceforgeから最新の2.13.2をダウンロードすると解析ができないようです。VTDによるCDATAによるXMLの解析

これは、私が使用していますテストです:

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) 

をすべてのヘルプは歓迎です!

+0

修正は2.13.2に出ていますが、いくつかのバグ修正により、 2.13.2が最も緊急のxpath評価の問題を修正するために出てくるように気をつけてください... CDATAの修正は2.13.3で修正されました。修正をダウンロードするにはCVSに行くことができました。 –

答えて

0

それはあなたが... IOWをCDATAのsegementを終了させるために必要とされる末尾>文字が...欠けているようだ、それがされている必要があります]]>

更新:私はチェックを行なったし、管理します2つの場所でこのバグの修正を含むクイックリリース:1つはVTDGen.javaに、もう1つはVTDGenHuge.javaにあります。

+0

Tハンクス、確かに私は間違った "最小"文字列を使ってテストしていました。私は正しいXML文字列で質問を更新しました。ここで '['と ']'はCDATAの中に現れます。それは構文解析を破るようだ。確認していただけますか? – Alessia

+0

私はちょうどチェックして、それは動作します、ありがとう。 – Alessia

+0

バグレポートをありがとう! –

関連する問題