Как я могу разобрать XML из тега скрипта в документе HTML? - PullRequest
0 голосов
/ 02 октября 2011

Я использовал Jsoup для очистки HTML-данных с веб-сайта, но есть один раздел XML внутри тега javascript, который мне нужно получить, потому что он содержит несколько 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-кода внутри тега script. Каков наилучший способ извлечь эти URL со страницы, если у меня есть Jsoup Document? Если я не могу сделать это с Jsoup, как я могу это сделать? Проблема в том, что изображения хранятся в карусели, поэтому HTML-код на странице показывает только источник тех, которые в данный момент отображаются в карусели.

Ответы [ 2 ]

1 голос
/ 02 октября 2011

Кулак, вы можете получить xmlTxt в Java с помощью привязки JavaScript.см. http://developer.android.com/guide/webapps/webview.html#BindingJavaScript

Во-вторых, проанализируйте ваш XML.Я не уверен, что вы можете использовать Jsoup в целом XML (не HTML).Если вы не можете, вы можете использовать встроенный в Android xmlpullparser (http://developer.android.com/reference/org/xmlpull/v1/XmlPullParser.html) или другие библиотеки xml.

0 голосов
/ 02 октября 2011

Ну, я сделал это грязным путем, но это должно работать. Я надеялся, что найдется более элегантное решение, но сейчас я просто преобразовал документ в строку (doc.toString()), а затем получил начальный и конечный индексы начальных и конечных тегов XML, которые мне нужны. Оттуда я смогу использовать встроенный синтаксический анализатор Java XML, чтобы сделать все остальное.

...