import nu.xom.*;
import java.io.*;
import java.util.*;
public class Person {
private String first,last;
public Person(String first, String last) {
//super();
this.first = first;
this.last = last;
}
public Element getXML(){
Element person = new Element("person");
Element firstName = new Element("first");
firstName.appendChild(first);
Element lastName = new Element("last");
lastName.appendChild(last);
person.appendChild(firstName);
person.appendChild(lastName);
return person;
}
// XML 엘리먼트에서 Person을 복원하는 생성자
public Person(Element person){
first = person.getFirstChildElement("first").getValue();
last = person.getFirstChildElement("last").getValue();
}
public String toString(){
return first +" "+ last;
}
// 사람이 읽을 수 있는 형태로 변환
public static void format(OutputStream os,Document doc) throws Exception{
Serializer serializer = new Serializer(os,"ISO-8859-1");
serializer.setIndent(4);
serializer.setMaxLength(60);
serializer.write(doc);
serializer.flush();
}
public static void main(String[] args) throws Exception{
// TODO Auto-generated method stub
List<Person> people = Arrays.asList(
new Person("Dr. Juwon","Sung"),
new Person("찬호","박"),
new Person("세리","박")
);
System.out.println(people);
Element root = new Element("people");
for(Person p:people)
root.appendChild(p.getXML());
Document doc = new Document(root);
format(System.out,doc);
format(new BufferedOutputStream(new FileOutputStream("People.xml")),doc);
}
}