1 19 20 import java.io.File ; 21 import java.io.FileInputStream ; 22 import java.io.FileOutputStream ; 23 import java.util.Iterator ; 24 import java.util.List ; 25 26 import samples.dtd.Artist; 28 import samples.dtd.Song; 29 import samples.dtd.Songs; 30 import samples.dtd.SongsUnmarshaller; 31 32 public class TestSongsDTD { 33 34 public static void main(String [] args) { 35 if (args.length != 1) { 36 System.out.println("Usage: java samples.TestSongsDTD " + 37 "[songs.xml location]"); 38 return; 39 } 40 41 System.setProperty("org.enhydra.zeus.validation", "true"); 43 44 String xmlParser = System.getProperty("org.xml.sax.driver"); 46 if ((xmlParser == null) || (xmlParser.equals(""))) { 47 System.setProperty("org.xml.sax.driver", 48 "org.apache.xerces.parsers.SAXParser"); 49 } 50 51 try { 52 Songs songs = SongsUnmarshaller.unmarshal(new File (args[0]), false); 54 55 List songList = songs.getSongList(); 56 for (Iterator i = songList.iterator(); i.hasNext(); ) { 57 Song song = (Song)i.next(); 58 System.out.println("Song title: '" + 59 song.getTitle() + "'"); 60 List artists = song.getArtistList(); 61 for (Iterator j = artists.iterator(); j.hasNext(); ) { 62 Artist artist = (Artist)j.next(); 63 System.out.println("Artist: '" + artist.getValue() + "'"); 64 System.out.println(" Type: '" + artist.getType() + "'"); 65 } 66 System.out.println("-------------------------"); 67 } 68 69 for (Iterator i = songList.iterator(); i.hasNext(); ) { 70 Song song = (Song)i.next(); 71 72 if (song.getTitle().equals("The Finishing Touch")) { 74 song.setTitle("Call It A Day"); 75 } 76 } 77 78 songs.marshal(new File ("output.xml")); 80 } catch (Exception e) { 81 e.printStackTrace(); 82 } 83 } 84 } 85 | Popular Tags |