2015-04-30 3 views
0

Я знаю, как получить XML-элементы файла с таким кодом:Java XML с древовидной структурой

http://www.omdbapi.com/?i=tt2820850&plot=full&r=xml

Потому что есть корневой элемент и элемент фильма с некоторой информацией.

Но в этой ссылке:

http://api.traileraddict.com/?film=fifty-shades-of-grey&count=1

Мне нужно вставлять код фильма, и это третий элемент дерева, и я только знаю, как сделать это для макс 2 структуры. Также у меня должен быть только код iframe для ввода моего элемента webview, но у меня нет опыта работы с regex в java.

ответ

0

Я хотел бы предложить, что вы не пытаетесь использовать регулярное выражение, вместо того, чтобы попробовать что-то вроде этого:

import java.io.InputStream; 
import java.net.URL; 
import java.net.URLConnection; 
import javax.xml.parsers.DocumentBuilder; 
import javax.xml.parsers.DocumentBuilderFactory; 
import org.w3c.dom.Document; 
import org.w3c.dom.Node; 
import org.w3c.dom.NodeList; 

public static void main(String[] args) throws Exception { 
    String url = "http://api.traileraddict.com/?film=fifty-shades-of-grey&count=1"; 
    parse(url); 
} 

public static void parse(String strUrl) throws Exception { 
    URL url = new URL(strUrl); 
    URLConnection connection = url.openConnection(); 
    DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance(); 
    DocumentBuilder db = dbf.newDocumentBuilder(); 
    try (InputStream is = connection.getInputStream()) { 
     Document doc = db.parse(is); 
     NodeList nList = doc.getElementsByTagName("embed"); 
     Node embedItem = nList.item(0); 
     System.out.println(embedItem.getTextContent()); 
    } 
} 

ПРИМЕЧАНИЕ: Здесь я использовал DOM парсер, вместо этого, вы можете попробовать саксофон или StAX

+0

Я не понимаю элемент нодлиста ... – fangio

+0

Это список узлов, которые имеют имя «embed», поскольку есть только один тег с именем «embed», получить первый (его индекс начинается с 0) – MJSG

+0

Я хочу использовать код в веб-просмотре, что мне действительно нужно. Потому что я искал в Интернете решения, но я только нахожу примеры YouTube. Мне нужен код, например webview.getEngine(). Load (???) – fangio

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