forked from hmkcode/Java
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathApp.java
More file actions
59 lines (44 loc) · 1.42 KB
/
App.java
File metadata and controls
59 lines (44 loc) · 1.42 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
package com.hmkcode;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;
import java.util.LinkedList;
import org.exolab.castor.xml.MarshalException;
import org.exolab.castor.xml.Marshaller;
import org.exolab.castor.xml.Unmarshaller;
import org.exolab.castor.xml.ValidationException;
import com.hmkcode.vo.Article;
public class App
{
public static void main( String[] args )
{
try {
//( 1 ) OBJECT --> XML
FileWriter writer = new FileWriter("article.xml");
Marshaller.marshal(createArticle(), writer);
writer.close();
//( 2 ) XML --> OBJECT
FileReader reader = new FileReader("article.xml");
Article article = (Article) Unmarshaller.unmarshal(Article.class, reader);
System.out.println(article);
} catch (IOException e) {
e.printStackTrace();
} catch (MarshalException e) {
e.printStackTrace();
} catch (ValidationException e) {
e.printStackTrace();
}
}
public static Article createArticle(){
Article article = new Article();
article.setTitle("Castor - Java Object to XML & XML to Object Mapping");
article.setUrl("http://hmkcode.com/castor-java-object-xml");
article.addCategory("Java");
article.addTag("Java");
article.addTag("Castor");
article.addTag("XML");
article.addTag("Marshalling");
article.addTag("Unmarshalling");
return article;
}
}