Java + XML auslesen w3c dom

sivy

Grünschnabel
Hallo!

Ich brauche eure Hilfe. Die Frage ist warscheinlich banal aber ich krig es irgedwie nicht hin.

So sieht Teil von xml-datei. Ich versuche Url von
<image type="poster" size="cover" auszulesen.
Code:
 <movie>
      <score>0.0324976406991482</score>
      <popularity>2</popularity>
      <name>The Matrix Revisited</name>
      <alternative_name></alternative_name>
      <type>movie</type>
      <id>14543</id>
      <imdb_id>tt0295432</imdb_id>
      <url>http://www.themoviedb.org/movie/14543</url>
      <rating>0.0</rating>
      <overview>The film goes behind the scenes of the 1999 sci-fi movie The Matrix. </overview>
      <released>2001-11-20</released>
      <images>
        <image type="poster" size="original" url="http://images.themoviedb.org/posters/14197/The_Matrix_Revisited.jpg" id="14197"/>
        <image type="poster" size="cover" url="http://images.themoviedb.org/posters/14197/The_Matrix_Revisited_cover.jpg" id="14197"/>
        <image type="poster" size="thumb" url="http://images.themoviedb.org/posters/14197/The_Matrix_Revisited_thumb.jpg" id="14197"/>
        <image type="poster" size="mid" url="http://images.themoviedb.org/posters/14197/The_Matrix_Revisited_mid.jpg" id="14197"/>
      </images>
    </movie>

so lese ich andere Sachen aus.

Code:
 DocumentBuilderFactory dbf =
		            DocumentBuilderFactory.newInstance();
		        DocumentBuilder db = dbf.newDocumentBuilder();
		        InputSource is = new InputSource();
		        is.setCharacterStream(new StringReader(filmXML));

		        Document doc = db.parse(is);
		        
		        
		        
		        NodeList nodes = doc.getElementsByTagName("movie");
 for (int i = 0; i < nodes.getLength(); i++) {
		        	
		        	FilmBean film = new FilmBean();
		           Element element = (Element) nodes.item(i);
		           
		           
		           NodeList title = element.getElementsByTagName("name");
		           Element line = (Element) title.item(0);
		           film.setTitle(getCharacterDataFromElement(line));
		           
		           NodeList id = element.getElementsByTagName("id");
		           line = (Element)id.item(0);
		           film.setId(getCharacterDataFromElement(line));


public static String getCharacterDataFromElement(Element e) {
	    Node child = e.getFirstChild();
	    if(child != null){
	    if (child instanceof CharacterData) {
	       CharacterData cd = (CharacterData) child;
	       return cd.getData();
	    }
	    }
	    return "?";
	  }


Wie mache ich es mit <images>?

Grüße,
Si
 
Genauso. Wenn du das Bild anzeigen willst kannst du dann ja eines aus der URL erstellen.
 
Wenn das "genauso" wäre hätte ich hier nicht gefragt. Hat jemand noch andere vorschläge für mich? Bild anzeigen interesiert mich nicht weil das grerade nicht mein Problem ist.

Viele Grüße,
SI
 
Zuletzt bearbeitet:
Ja dann verstehe ich nicht wo das Problem ist? Bekommst du eine Exception oder so?
 
Wo ist das Problem? Du selektierst den images knoten, iterierst über alle Subelemente mit dem Namen image und greifst dir die url-Attribute raus. Btw. XPath ist dein Freund: //image/@url selektiert dir alle url-Attribute von image-Elementen des gesamten Dokuments.

REINHAUN!
 
solche Antwort wolle ich bekommen :)

vielen Dank hats geklappt! Ich hatte irgendwie Gehirnblokade ;)
 

Neue Beiträge

Zurück