【问题标题】:Configure SAX XML parser to avoid SAXParseException配置 SAX XML 解析器以避免 SAXParseException
【发布时间】:2015-12-15 13:14:02
【问题描述】:

我正在使用 commons http-client 进行 SOAP 服务调用并收到以下异常 -

异常处理消息:org.xml.sax.SAXParseException;行号:20;山口 umn号:23;在值中发现无效的 XML 字符 (Unicode: 0x{2}) 属性“{1}”和元素为“1”。

我知道我有一个角色

根据XML specification,在我的数据中是不允许的。

有没有办法配置 commons http-client/SAX XML Parser 以忽略/删除/清除输入数据中不支持的字符?

【问题讨论】:

  • 你能粘贴一些示例 xml 来测试吗?您使用的是哪些库?
  • @tomaj 我已更新问题以包含更多信息

标签: xml special-characters sax apache-commons-httpclient saxparseexception


【解决方案1】:

我不认为真正的问题是您的文档包含 XML 不允许的字符。您的问题是字符没有按照文件所说的方式编码,因此解析器认为它是一个不同的字符。去掉有问题的字符(你可以通过预处理阶段来做,例如使用 perl)可能会缓解症状,但不会治愈疾病。您需要弄清楚文件的实际编码是什么,XML 解析器认为它是什么,以及为什么。

【讨论】:

  • 我不确定如何在我的场景中控制文件的编码。您能否提供更多相同的指示?
  • 不容易,不。我不知道您对该主题已有多少了解,而且我对您的应用程序的结构了解得不够多,无法知道哪些信息可能是相关的。
猜你喜欢
  • 1970-01-01
  • 2011-03-19
  • 2012-08-27
  • 1970-01-01
  • 2017-08-19
  • 1970-01-01
  • 1970-01-01
  • 2011-04-30
  • 2011-06-17
相关资源
最近更新 更多