(問題に適切にラベルを付ける方法がわからなかったので、タイトルを気にしないでください)。
私はJavaDOMパーサーを使用して、RSSフィードを解析し、ファイル(.xml)を出力しています。1つの主要なコンポーネントを除いてすべて機能します。(一部はJsoupを使用しています)
<content:encoded>
タグ(記事の本文)では、すべてのタグをタグに変更し、その<iframe>
視覚<a>
的な部分をiframeタグに含まれていたビデオのサムネイルに設定する必要があります。
これは、タグを変換し、タグの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("<img src=\"http://img.youtube.com/vi/"+array1[k]+"/0.jpg\"/></br>Tap to play video");
System.out.println(iframes);
}
すべての解析が機能し、正規表現を使用してiframeタグからYoutubeIDを正常に取得できます。ただし、投稿に複数の動画がある場合は、正しいIDをすべて挿入するのではなく、その投稿の最初の動画のIDのみを挿入します。
だから代わりに(フォーマットを許してください)
a src="http://www.youtube.com/embed/5CzKyR6jzyw"><img src="http://img.youtube.com/vi/5CzKyR6jzyw/0.jpg" /><br />Tap to play video</a>
それは与えます(img src属性に注意してください)
<a src="http://www.youtube.com/embed/qxur7H_CtM0"><img src="http://img.youtube.com/vi/qxur7H_CtM0/0.jpg" /><br />Tap to play video</a>
<a src="http://www.youtube.com/embed/nQl1Y5suqP4"><img src="http://img.youtube.com/vi/qxur7H_CtM0/0.jpg" /><br />Tap to play video</a>
<a src="http://www.youtube.com/embed/H47WhjHcBSw"><img src="http://img.youtube.com/vi/qxur7H_CtM0/0.jpg" /><br />Tap to play video</a>
<a src="http://www.youtube.com/embed/UMr6_ODZsFg"><img src="http://img.youtube.com/vi/qxur7H_CtM0/0.jpg" /><br />Tap to play video</a>
<a src="http://www.youtube.com/embed/u8qzrBcont8"><img src="http://img.youtube.com/vi/qxur7H_CtM0/0.jpg" /><br />Tap to play video</a>
<a src="http://www.youtube.com/embed/0283IhwTWd4"><img src="http://img.youtube.com/vi/qxur7H_CtM0/0.jpg" /><br />Tap to play video</a>
<a src="http://www.youtube.com/embed/HOgnsaixbwE"><img src="http://img.youtube.com/vi/qxur7H_CtM0/0.jpg" /><br />Tap to play video</a>
私はそれが本当に単純なものであるとかなり確信しています、そして私はそれを見逃しているだけです。
編集:irrelephantに感謝(フォーマットを修正するため)
繰り返しになりますが、私の詳細の欠如や本当に単純な音を混乱させることを許してください、しかし私は目前の問題を適切に表現する方法がわかりません。