接受clojure.xml / parse调用的标头

使用URI调用函数clojure.xml / parse时,Clojure会执行HTTP GET请求来获取数据.但是,HTTP请求包含以下接受标头:

text/html,image/gif,image/jpeg,*; q=.2,*/*; q=.2

这不应该是application / xml吗?

解决方法

使用String参数(URI)调用clojure.xml / parse与此java代码类似:

SAXParserFactory.newInstance().newSAXParser().parse("<your_uri>",<instance of XMLHandler provided by Clojure>);

Clojure不执行HTTP GET请求.它只使用SAX解析器作为认解析器. Sax解析器在内部创建XMLInputSource的实例,并将其一直传递给XMLEntityManager.类XMLEntityManager完成与打开连接和获取xml(或更像html)文档相关的所有工作:

URL location = new URL(expandedSystemId); 
URLConnection connect = location.openConnection();
... skip ...
stream = connect.getInputStream();

如果XmlInputSource是HTTPInputSource的实例,则XMLEntityManager设置HTTP请求属性.但是,XMLInputSource没有类似的功能(这是SAXParser的情况).

我想你可以帮助你将SAX解析器更改为其他一些实现.

相关文章

php输出xml格式字符串
J2ME Mobile 3D入门教程系列文章之一
XML轻松学习手册
XML入门的常见问题(一)
XML入门的常见问题(三)
XML轻松学习手册(2)XML概念