我有一个在小程序查看器中运行良好的小程序,但一旦播放到服务器,它就无法解析 XML 文件
原因很简单:SAX 解析器试图打开硬盘上的 dtd,而不是 JAR。
有人告诉我这样做:
使用 URL(baseURL, pathString) 构造函数可以很容易地形成资源的 URL,其中基本 URL 是从 Applet.getDocumentBase() 或 Applet.getCodeBase() 获得的。
但我不知道如何在我的情况下应用它:
这是一个 XML 示例:
<?xml version="1.0"?>
<!DOCTYPE note SYSTEM "leveldtd.dtd">
<level>
...
</level>
这是我的解析器的初始化
public static void parseThis(InputSource is) throws Exception{
SAXParserFactory spf = SAXParserFactory.newInstance();
SAXParser sp = spf.newSAXParser();
XMLHandlerLevel myExampleHandler = new XMLHandlerLevel();
XMLReader xr = sp.getXMLReader();
xr.setContentHandler(myExampleHandler);
/* Begin parsing */
xr.parse(is);
}
有任何想法吗 ?
杰森