HTMLCleaner 转化html到xml报出namespace的错误

实际开发中利用HTMLCleaner转化html为xml的操作中报出:

Error on line 2 column 52 
  SXXP0003: Error reported by XML parser: 前缀 "xml" 不能绑定到除它的常用名称空间外的任何名称空间; "xml"
  的名称空间也不能绑定到除 "xml" 外的任何前缀。
net.sf.saxon.trans.XPathException: org.xml.sax.SAXParseException; lineNumber: 2; columnNumber: 52; 前缀 "xml" 不能绑定到除它的常用名称空间外的任何名称空间; "xml" 的名称空间也不能绑定到除 "xml" 外的任何前缀。
	at net.sf.saxon.event.Sender.sendSAXSource(Sender.java:418)
	at net.sf.saxon.event.Sender.send(Sender.java:214)
	at net.sf.saxon.event.Sender.send(Sender.java:50)
	at net.sf.saxon.Configuration.buildDocument(Configuration.java:2973)
	at net.sf.saxon.query.StaticQueryContext.buildDocument(StaticQueryContext.java:211)

通过异常描述可以断定为由于html的格式问题导致转化失败.

查看html页面,其中

<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="zh_CN" lang="zh_CN">
分析可知namespace是最终原因,查阅htmlcleaner的源码发现它有一个属性设置CleanerProperties,其中可以设置忽略namespace,即namespacesAware 设置为false即可,默认值是true.
eg.我的应用中设置方式:properties.setNamespacesAware(false);

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值