1 import org.apache.velocity.Template;
2 import org.apache.velocity.VelocityContext;
3 import org.apache.velocity.app.Velocity;
4
5 import org.jdom.Document;
6
7 import org.jdom.input.SAXBuilder;
8
9 import java.io.BufferedWriter;
10 import java.io.OutputStreamWriter;
11 import java.io.Writer;
12
13
14 public class XMLVelocityExample {
15 public XMLVelocityExample(String templateFile) {
16 Writer writer = null;
17
18 try {
19 Velocity.init();
20
21 SAXBuilder builder;
22 Document root = null;
23
24 try {
25 builder = new SAXBuilder("org.apache.xerces.parsers.SAXParser");
26 root = builder.build("book.xml");
27 } catch (Exception exception) {
28 exception.printStackTrace();
29 }
30
31 VelocityContext context = new VelocityContext();
32 context.put("root", root);
33
34 Template template = Velocity.getTemplate(templateFile);
35
36 writer = new BufferedWriter(new OutputStreamWriter(System.out));
37 template.merge(context, writer);
38 } catch (Exception ex) {
39 ex.printStackTrace();
40 } finally {
41 if (writer != null) {
42 try {
43 writer.flush();
44 writer.close();
45 } catch (Exception ex) {
46 ex.printStackTrace();
47 }
48 }
49 }
50 }
51
52 public static void main(String[] args) {
53 XMLVelocityExample test = new XMLVelocityExample("xml.vm");
54 }
55 }
56