Quantcast
Channel: Forum Pasja Informatyki - Najnowsze pytania bez odpowiedzi
Viewing all articles
Browse latest Browse all 21942

biblioteka xstream

$
0
0

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>

 


Viewing all articles
Browse latest Browse all 21942