android – Jsoup无法读取xml返回文件

android – Jsoup无法读取xml返回文件,第1张

概述我正面临着Jsoup的一些问题.我正在尝试使用我的测试版 Android应用中的API从Open Movie Database中检索xml文件. 他们的API文档说如果返回类型是一个xml,只需输入“r =”和返回文件类型. 我已经测试了一些请求.其中一个: Jsoup.connect(http://www.omdbapi.com/?i=tt1285016&r=xml).get(); 在浏览器上测 我正面临着Jsoup的一些问题.我正在尝试使用我的测试版 Android应用中的API从Open MovIE Database中检索xml文件.
他们的api文档说如果返回类型是一个xml,只需输入“r =”和返回文件类型.
我已经测试了一些请求.其中一个:

Jsoup.connect(http://www.omdbAPI.com/?i=tt1285016&r=xml).get();

在浏览器上测试工作正常.但在androID没有.抛出任何异常.如果我不插入返回文件类型,则返回JsON.在这种情况下,我收到数据.
确保问题是否与xml文件有关.我用musicbrainz API测试了.默认情况下,它返回XML.我的惊喜很好.

问题是什么? Jsoup的开放电影数据库的返回类型?

解决方法 Jsoup的主要重点是处理HTML,并确保返回的文档是格式良好的HTML.因此,默认情况下,它始终将输入视为HTML并将文档规范化.这就是为什么你得到像< HTML>< head>< / head> …< xml> …< / HTML>这样的DOM.

如果您知道您提供的输入实际上是XML,则可以将Jsoup配置为在XML模式下进行解析.在这种情况下,它不会规范化为HTML DOM,也不会强制执行任何HTML规范.

举个例子:

String url = "http://www.omdbAPI.com/?i=tt1285016&r=xml";document doc = Jsoup.connect(url)    .parser(Parser.xmlParser())    .get();System.out.println(doc);

使用和不使用Parser.xmlParser()配置比较该输出:

在XML模式下:

<?xml version="1.0" enCoding="UTF-8"?><root response="True"> <movIE title="The Social Network" year="2010" {snip} /></root>

在HTML模式下:

<!--?xml version="1.0" enCoding="UTF-8"?--><HTML> <head></head> <body>  <root response="True">   <movIE title="The Social Network" {snip} />  </root> </body></HTML>
总结

以上是内存溢出为你收集整理的android – Jsoup无法读取xml返回文件全部内容,希望文章能够帮你解决android – Jsoup无法读取xml返回文件所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1126806.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-30
下一篇 2022-05-30

发表评论

登录后才能评论

评论列表(0条)

保存