SAX解析器:在applet中指定DTD位置
|
我有一个可以在applet查看器中正常工作的applet,但是一旦将其放到服务器上,它就无法解析XML文件
原因很简单:SAX解析器试图在硬盘而不是JAR中打开dtd。
我被告知要这样做:
可以轻松形成资源的URL
使用URL(baseURL,pathString)
基本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);
}
有任何想法吗 ?
杰森
没有找到相关结果
已邀请:
1 个回复
壬驴拿歪竞