【问题标题】:How can I parse XML from a script tag in an HTML doc?如何从 HTML 文档中的脚本标记解析 XML?
【发布时间】:2011-10-02 02:11:51
【问题描述】:

我一直在使用 Jsoup 从网站上抓取 HTML 数据,但是我需要获取 JavaScript 标记内的一段 XML,因为它有一堆 URL,我需要提取并下载图像。这是它的样子:

<script type="text/javascript">
    var xmlTxt = '<?xml version="1.0" encoding="UTF-8" standalone="yes"?><mediaObject><mediaList rail="1"><carMedia thumbnail="http://images.blah.com/scaler/80/60/images/2011/9/22/307/179/22343202654.307179719.IM1.MAIN.565x421_A.562x421.jpg" url="http://images.blah.com/scaler/544/408/images/2011/9/22/307/179/22343202654.307179719.IM1.MAIN.565x421_A.562x421.jpg" type="INV_PHOTO" mediaLabel="" category="UNCATEGORIZED" sequence="2"/></mediaList></mediaObject>';'

紧随其后的是脚本标签内的一大堆javascript代码。如果我有 Jsoup Document,从页面中提取这些 URL 的最佳方法是什么?如果我不能用 Jsoup 做到这一点,我该怎么做?问题是图像保存在轮播中,因此页面上的 HTML 仅显示当前显示在轮播中的图像的来源。

【问题讨论】:

    标签: android html xml parsing jsoup


    【解决方案1】:

    拳头,您可以使用 javascript 绑定将 xmlTxt 导入 java。见http://developer.android.com/guide/webapps/webview.html#BindingJavaScript

    第二,解析你的xml。我不确定您是否可以在一般 XML(不是 HTML)中使用 Jsoup。如果不能,可以使用android内置的xmlpullparser(http://developer.android.com/reference/org/xmlpull/v1/XmlPullParser.html)或其他xml库。

    【讨论】:

    • 我没有使用 Web 视图,并且在阅读后不清楚如何获取 XML。我是不是错过了什么?
    • 好的。我误解了你的问题。我以为你想从 webview 的结果 html 中获取 XML。
    • 不..我只是想从 httpget 解析 HTML 以从 script 标签中提取 XML。
    【解决方案2】:

    好吧,我是用肮脏的方式做的,但它应该可以工作。我希望有一个更优雅的解决方案,但现在我只是将文档转换为字符串 (doc.toString()),然后获取我想要的开始和结束 XML 标记的开始和结束索引。从那里我应该能够使用内置的 Java XML 解析器来完成剩下的工作。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-09-21
      • 1970-01-01
      • 2020-07-16
      • 1970-01-01
      • 2016-03-22
      • 1970-01-01
      • 2015-12-10
      • 1970-01-01
      相关资源
      最近更新 更多