Java 是否有可用的在线libxml2xml解析器,或者有一种使用libxml2standalone解析XML的方法?
我们目前正在一个模块上尝试使用LIBXML2组件解析XML,并且发现了一个与此相关的问题,即当一个XML包含一个包含非ASCII字符的名称空间时,比如这个Java 是否有可用的在线libxml2xml解析器,或者有一种使用libxml2standalone解析XML的方法?,java,xml,parsing,libxml2,Java,Xml,Parsing,Libxml2,我们目前正在一个模块上尝试使用LIBXML2组件解析XML,并且发现了一个与此相关的问题,即当一个XML包含一个包含非ASCII字符的名称空间时,比如这个é 示例XML文件: < ?xml version="1.0" encoding="UTF-8"?> <SOAP:Envelope xmlns:SOAP="http://schemas.xmlsoap.org/soap/envelope/"> <SOAP:Body> <Helloé xmln
é
示例XML文件:
< ?xml version="1.0" encoding="UTF-8"?>
<SOAP:Envelope xmlns:SOAP="http://schemas.xmlsoap.org/soap/envelope/">
<SOAP:Body>
<Helloé xmlns="http://schemas/Helloé">
<ns0:Helloé xmlns:ns0="http://schemas/Helloé" />
</Helloé>
</SOAP:Body>
</SOAP:Envelope>
通过使用一个小测试程序对DOM解析器进行测试,我们能够检查并确认它是否支持DOM解析器。当我们尝试检查所提供场景的有效性时,我们得到以下错误:
我们也通过其他在线来源对其进行了测试,就像上面说的一样——相同的错误消息
有没有人能告诉我们是否有一种方法可以识别在线工具/资源,我们可以将其精确定位到libxml2
或者可以测试此功能的示例程序?只需通过命令行上的libxml2运行该文件:
$ xmllint --noout so.xml
so.xml:4: namespace error : xmlns: 'http://schemas/Helloé' is not a valid URI
<Helloé xmlns="http://schemas/Helloé">
^
so.xml:5: namespace error : xmlns:ns0: 'http://schemas/Helloé' is not a valid URI
<ns0:Helloé xmlns:ns0="http://schemas/Helloé" />
^
$xmllint--noout so.xml
so.xml:4:命名空间错误:xmlns:'http://schemas/Hello“”不是有效的URI
^
so.xml:5:命名空间错误:xmlns:ns0:'http://schemas/Hello“”不是有效的URI
^
此外,用正确的UTF-8%逃逸率替换
é
。只需将URI更改为http://schemas/Hello%C3%A9
您是否尝试使用有效的URL?我的意思是对任何无效字符使用%
编码,例如像é
这样的非ASCII字母。谢谢您的回复,但这也不起作用!你不明白在这个问题上投了反对票吗?有人想解释一下吗?错误消息说“不是有效的URI”,这应该让您研究什么是有效的URI,在这种情况下,您可以自己找到解决方案。否决票是因为缺乏研究,或者正如否决票按钮的工具提示所说:“这个问题没有显示任何研究成果”。另见:谢谢你,我查一下!谢谢-我已经能够验证这一点了!