(Я не знал, как правильно правильно пометить мою проблему, поэтому не против названия).
Я работаю над java DOM Parser, чтобы разобрать rss-канал и вывести файл (.xml). Все работает, за исключением одного основного компонента. (Он использует Jsoup для некоторых частей)
In the
tag (the article body) it has to change all the <iframe>
tags to
tags and sets the visual part of it to the thumbnail of the video that was contained in the iframe tag.
Это код, который преобразует теги и изменяет html тегов.
String html = theString;
org.jsoup.nodes.Document docHtml = Jsoup.parse(html);
Elements body = docHtml.select("body");
Elements iframes = body.select("iframe");
iframes.tagName("a");
iframes.removeAttr("width");
iframes.removeAttr("height");
iframes.removeAttr("allowfullscreen");
iframes.removeAttr("frameborder");
//iframes.attr("href", youtubeURL);
for(int k=0; k<1; k++) {
String[] array;
String[] array1;
array = new String[10];
array1 = new String[10];
String youtubeID = "";
String link = "";
array[k] = iframes.attr("src");
//System.out.println(array[k]);
String pattern = "(?<=watch\\?v=|/embed/)[^]*";
Pattern compiledPattern = Pattern.compile(pattern);
Matcher matcher = compiledPattern.matcher(array[k]);
while(matcher.find()){
array1[k] = matcher.group();
//System.out.println(matcher.group());
//This is the line in question
iframes.html("
Tap to play video");
System.out.println(iframes);
}
Весь синтаксический анализ работает, и я могу успешно получить Youtube ID из тега iframe, используя регулярное выражение. Но если сообщение имеет несколько видеороликов, вместо того, чтобы вставлять все нужные ID, он вставляет только идентификатор первого видео в этом сообщении.
Итак, вместо (пожалуйста, извините форматирование)
a src="http://www.youtube.com/embed/5CzKyR6jzyw">
Tap to play video
Он дает (обратите внимание на атрибут img src)

Tap to play video

Tap to play video

Tap to play video

Tap to play video

Tap to play video

Tap to play video

Tap to play video
Я почти уверен, что это действительно просто, и я просто пропустил его.
Edit: thanks irrelephant (For fixing the formatting)
Опять же, пожалуйста, извините мою нехватку деталей и/или сделав что-то действительно простое сбивающее с толку, но я не знаю, как правильно выразить проблему под рукой.