1 #macro ( recursive $xml $indent )
2 #if( $xml.getChildren().size() > 0 )
3 $indent <$xml.getName()>
4 #foreach ($child in $xml.getChildren() )
5 #recursive( $child "$indent " )
6 #end
7 $indent </$xml.getName()>
8 #else
9 $indent <$xml.getName()>
10 $indent $xml.getTextTrim()
11 $indent </$xml.getName()>
12 #end
13 #end
14
15 #set($i = " ")
16
17 Here goes document tree with a recursive Velocity macro :
18
19 #recursive( $root.getRootElement() $i )
20
21
22 Now accessing data directly :
23
24 email : $root.getRootElement().getChild("properties").getChild("author").getChild("email").getText()
25 last name : $root.getRootElement().getChild("properties").getChild("author").getChild("name").getChild("fullname").getText()
26