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