Как я могу проанализировать XML из тега script в документе HTML?

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


person alexD    schedule 02.10.2011    source источник


Ответы (2)


Во-первых, вы можете получить 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.

person kingori    schedule 02.10.2011
comment
Я не использую веб-представление, и после прочтения этого непонятно, как мне получить XML. Я что-то пропустил там? - person alexD; 02.10.2011
comment
ХОРОШО. Я неправильно понял ваш вопрос. Я думал, вы хотите получить XML из результирующего html веб-просмотра. - person kingori; 02.10.2011
comment
Нет... Я просто хочу проанализировать HTML из httpget, чтобы извлечь XML из тега script. - person alexD; 02.10.2011

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

person alexD    schedule 02.10.2011