• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

biblioteka xstream

Aruba Cloud - Virtual Private Server VPS
0 głosów
130 wizyt
pytanie zadane 4 czerwca 2017 w Java przez bart1996 Początkujący (360 p.)
edycja 4 czerwca 2017 przez bart1996

Witam, mam plik xml ktory sam wygenerowalem swoim programem, lecz mam problem z odczytaniem tego pliku w programie do konwersji z xml do javy. Zamieszczam klase Artist, plik xml oraz main.

package przyklad;

import java.util.ArrayList;


public class Artist {
	public String name;
    public boolean isAlive;
    public String url;
    public ArrayList<Album> albums = new ArrayList<Album>();
 
    public Artist(String name, boolean isAlive, String url) {
        this.name = name;
        this.isAlive = isAlive;
        this.url = url;
    }
 
    public void addAlbum(Album album) {
        albums.add(album);
    }
 
}


class Album {
   public String title;
   public int noOfrecords;
   public int year;

   public Album(String title, int noOfrecords, int year) {
       this.title = title;
       this.noOfrecords = noOfrecords;
       this.year = year;
   }
}
package przyklad;
 
import java.io.BufferedReader;
import java.io.DataInputStream;
import java.io.FileInputStream;
import java.io.InputStreamReader;
import java.util.ArrayList;

import com.thoughtworks.xstream.XStream;
import com.thoughtworks.xstream.io.xml.DomDriver;

public class przyklad{
	
	public static void main(String[] args) {
		String filename = "plik.xml";
		ArrayList<Artist> artysci = new ArrayList<Artist>();
		artysci = xml2ArrayListArtist(filename);
		System.out.println(artysci);
	}
	
	public static ArrayList<Artist> xml2ArrayListArtist(String filename) {
		String xml = "";
		String strLine = "";
		if (filename != null) {
			try {
				FileInputStream f = new FileInputStream(filename);
				DataInputStream in = new DataInputStream(f);
				BufferedReader r = new BufferedReader(new InputStreamReader(in));
				while ((strLine = r.readLine()) != null)
					xml += strLine;
				in.close();
				XStream mapping = new XStream(new DomDriver());
				return (ArrayList<Artist>) mapping.fromXML(xml);
			} catch (Exception e) {
				System.out.println(e);
				System.exit(0);
			}
		}
		return null;
	}
}
<list>
- <przyklad2.Artist>
  <name>wiesiek</name> 
  <isAlive>false</isAlive> 
- <albums>
- <przyklad2.Album>
  <title>Bix Beiderbecke with the Paul Whiteman Orchestra</title> 
  <noOfrecords>5</noOfrecords> 
  <year>1928</year> 
  </przyklad2.Album>
- <przyklad2.Album>
  <title>Bix Beiderbecke and His Gang</title> 
  <noOfrecords>6</noOfrecords> 
  <year>1927</year> 
  </przyklad2.Album>
  </albums>
  </przyklad2.Artist>
  </list>

 

Zaloguj lub zarejestruj się, aby odpowiedzieć na to pytanie.

Podobne pytania

0 głosów
4 odpowiedzi 1,490 wizyt
pytanie zadane 27 października 2017 w Java przez olgak96 Nowicjusz (200 p.)
0 głosów
0 odpowiedzi 182 wizyt
pytanie zadane 30 września 2017 w Java przez olgak96 Nowicjusz (200 p.)
0 głosów
1 odpowiedź 421 wizyt
pytanie zadane 13 września 2017 w Java przez ebo96rok Bywalec (2,980 p.)

93,264 zapytań

142,260 odpowiedzi

322,234 komentarzy

62,582 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj

Wprowadzenie do ITsec, tom 1 Wprowadzenie do ITsec, tom 2

Można już zamawiać dwa tomy książek o ITsec pt. "Wprowadzenie do bezpieczeństwa IT" - mamy dla Was kod: pasja (użyjcie go w koszyku), dzięki któremu uzyskamy aż 15% zniżki! Dziękujemy ekipie Sekuraka za fajny rabat dla naszej Społeczności!

...