2015-06-11 4 views
0

Я разрабатываю приложение JSON. Я могу загрузить все данные, но у меня возникает интересная проблема. Я пытаюсь захватить строку с именем домена:URL-адрес извлечения Android с определенным доменным именем из строки

http://www.prindlepost.org/ 

Когда захватывая все JSON, я получаю очень большую строку, которую я не смог вставить туда. Часть Я пытаюсь разобрать это:

<p>The road through Belgrade was quiet at 4 A.M. Besides the occasional whir of another car speeding by, my taxi was largely alone on the road. Through the windshield I could see the last traces of apartment blocks pass by as we left the outskirts of the city. Somewhere beyond the limits of my vision, I knew the airport waited, its converging neon runway lines already lighting up the pre-dawn darkness.</p> 
    <div class="more-link-wrap wpb_button"> <a href="http://www.prindlepost.org/2015/06/this-is-a-self-portrait/" class="more-link">Read more</a></div> 

где я займусь:

<a href="http://www.prindlepost.org/2015/06/this-is-a-self-portrait/" class="more-link">Read more</a></div> 

Я незнаком с извлечением строк, как это. В конце концов, я хочу сохранить URL как свою собственную строку. Например, выше будет преобразована в:

String url = "http://www.prindlepost.org/2015/06/this-is-a-self-portrait/"; 

Одна вещь, чтобы отметить, что есть много из URL-адресов, чтобы сужать по имени класса может помочь мне кучу.

Моя первоначальная догадка:

// <READ MORE> 
Pattern p = Pattern.compile("href=\"(.*?)\""); 
Matcher m = p.matcher(content); 
String urlTemp = null; 
if (m.find()) { 
     urlTemp = m.group(1); // this variable should contain the link URL 
} 
Log.d("LINK WITHIN TEXT", ""+urlTemp); 
// </READ MORE> 

Любая помощь приветствуется!

+0

@Blackbelt Пожалуйста, объясните, как это может ответить на мой вопрос. Я попробовал единственный ответ на этот вопрос, который был удаленно для этого типа проблемы, и он не поддерживается Android Java API. Все остальное было либо плохо написано, либо «Я не знаю, работает ли это в Android, а просто в google html parser» – booky99

ответ

0

Это может быть работа пытается использовать что-то вроде: http://jsoup.org/

Если проверить их пример для разбора из ссылок:

String html = "<p>The road through Belgrade was quiet at 4 A.M. Besides the occasional whir of another car speeding by, my taxi was largely alone on the road. Through the windshield I could see the last traces of apartment blocks pass by as we left the outskirts of the city. Somewhere beyond the limits of my vision, I knew the airport waited, its converging neon runway lines already lighting up the pre-dawn darkness.</p>" 
      + "<div class=\"more-link-wrap wpb_button\">" 
      + "<a href=\"http://www.prindlepost.org/2015/06/this-is-a-self-portrait/\" class=\"more-link\">" 
      + "Read more</a></div>"; 

Document doc = Jsoup.parse(html); 

Element link = doc.select("a").first(); 
String relHref = link.attr("href"); // == "/2015/06/this-is-a-self-portrait/" 
String absHref = link.attr("abs:href"); // "http://www.prindlepost.org/2015/06/this-is-a-self-portrait/" 
+0

Очень тщательный ответ. Мне придется подождать, пока я вернусь домой с работы позже, чтобы проверить это, но логика выглядит великолепно. – booky99

Смежные вопросы