java saxreader,java – 如何使用dom4j SAXReader脱机?

我想离线使用SAXReader,问题是SAXReader正在验证xml是否符合DTD.我不想更改

XML中的DTD或其他任何内容.通过在本网站和其他来源搜索,我发现2个答案对我没有帮助:

>使用EntityResolver绕过网络呼叫

>使用setIncludeExternalDTDDeclarations(false)

我试图做的例子:

protected Document getPlistDocument() throws MalformedURLException,

DocumentException {

SAXReader saxReader = new SAXReader();

saxReader.setIgnoreComments(false);

saxReader.setIncludeExternalDTDDeclarations(false);

saxReader.setIncludeInternalDTDDeclarations(true);

saxReader.setEntityResolver(new MyResolver());

Document plistDocument = saxReader.read(getDestinationFile().toURI().toURL());

return plistDocument;

}

public class MyResolver implements EntityResolver {

public InputSource resolveEntity (String publicId, String systemId)

{

if (systemId.equals("http://www.myhost.com/today")) {

// if we want a custom implementation, return a special input source

return null;

} else {

// use the default behaviour

return null;

}

}

}

我仍然无法离线工作,请建议……谢谢

堆栈跟踪:

14:20:44,358 ERROR [ApplicationBuilder] iphone build failed: Resource Manager - Problem handle Root.plist: www.apple.com Nested exception: www.apple.com

com.something.builder.sourcemanager.exception.SourceHandlingException: Resource Manager - Problem handle Root.plist: www.apple.com Nested exception: www.apple.com

****

****

Caused by: org.dom4j.DocumentException: www.apple.com Nested exception: www.apple.com

at org.dom4j.io.SAXReader.read(SAXReader.java:484)

at org.dom4j.io.SAXReader.read(SAXReader.java:291)

... 10 more

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值