2

私はxmlファイルを解析します(このファイルの平和):

<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE dblp SYSTEM "./resource/init/dblp.dtd">
<dblp>
<www mdate="2002-01-03" key="www/fr/ardentsoftware">
<title>Ardent Software</title>
<url>http://www.ardentsoftware.fr</url>
</www>
.
.
.
.
</dblp>

vtd-xml を使用しましたが、この例外がありました。 com.ximpleware.extended.EntityExceptionHuge: Errors in Entity: Illegal entity char これは、ファイルに「エンティティ」が含まれていることを意味します。したがって、vtd-xml が検証ファイルを無視して正しくパーシングを行うにはどうすればよいですか。

        VTDGenHuge vg = new VTDGenHuge();
        XMLMemMappedBuffer xb = new XMLMemMappedBuffer();
        try{
        xb.readFile("./resource/init/dblp.xml");
        vg.setDoc(xb);
        vg.parse(false);
        VTDNavHuge vnh = vg.getNav();

ありがとう

4

1 に答える 1

0

VTDGenHuge パーサーは、XML ファイルに無効なエンティティ参照が含まれているという単純な理由でこのエラーをスローします...エラーを修正すると、正常に動作するはずです

于 2016-03-19T21:49:32.600 に答える