From e16b890a8d79017e5190fc6cf1ef95ed9404fa68 Mon Sep 17 00:00:00 2001 From: yang <1175@qq.com> Date: Mon, 26 Aug 2024 19:26:34 +0800 Subject: [PATCH] =?UTF-8?q?XML=E5=A4=96=E9=83=A8=E5=AE=9E=E4=BD=93?= =?UTF-8?q?=E6=B3=A8=E5=85=A5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../scorm/cam/load/ContentPackageGenerator.java | 16 +++++++++++++++- 1 file changed, 15 insertions(+), 1 deletion(-) diff --git a/modules/boe-module-scorm/src/main/java/com/xboe/module/scorm/cam/load/ContentPackageGenerator.java b/modules/boe-module-scorm/src/main/java/com/xboe/module/scorm/cam/load/ContentPackageGenerator.java index 2845d0ab..2b996a8a 100644 --- a/modules/boe-module-scorm/src/main/java/com/xboe/module/scorm/cam/load/ContentPackageGenerator.java +++ b/modules/boe-module-scorm/src/main/java/com/xboe/module/scorm/cam/load/ContentPackageGenerator.java @@ -1,6 +1,8 @@ package com.xboe.module.scorm.cam.load; import java.io.File; +import java.io.IOException; +import java.io.StringReader; import java.util.HashMap; import java.util.List; import java.util.Map; @@ -85,6 +87,9 @@ import com.xboe.module.scorm.cam.model.datatype.NonNegativeInteger; import com.xboe.module.scorm.cam.model.datatype.Token; import com.xboe.module.scorm.cam.model.datatype.VCard; import com.xboe.module.scorm.common.CommonUtils; +import org.xml.sax.EntityResolver; +import org.xml.sax.InputSource; +import org.xml.sax.SAXException; @Slf4j public class ContentPackageGenerator { @@ -144,7 +149,16 @@ public class ContentPackageGenerator { Document manifestXml; try { - SAXReader reader = new SAXReader(); + SAXReader reader = new SAXReader(); + + reader.setEntityResolver(new EntityResolver() { + @Override + public InputSource resolveEntity(String publicId, String systemId) throws SAXException, IOException { + // 总是返回空的InputSource来忽略外部实体 + return new InputSource(new StringReader("")); + } + }); + manifestXml = reader.read(manifestXmlFile); } catch (DocumentException e) {