The XMLTool can be used to parse an remote xml file and iterate over each object returned in the xml file as needed
Class: com.dotmarketing.viewtools.xmltool.java
Name: $xmltool
Toolbox Configuration Example
<tool> <key>xmltool</key> <scope>application</scope> <class>com.dotmarketing.viewtools.xmltool</class> </tool>
Here's a usage example created by Chris Falzone of the dotCMS community - Thanks Chris!
Example of a xml page that can be parsed: http://www.w3schools.com/XML/cd_catalog.xml
To parse the XML file on a dotCMS page, preview the following example which is doing a parse of an xml page and then iterating over 5 objects in the parse at the bottom of this document:
#set($myXML = $xmltool.read("https://www.w3schools.com/XML/cd_catalog.xml")) <table border="1" style="width:100%;"> <tr> <th>Title</th> <th>Artist</th> <th>Country</th> <th>Company</th> <th>Price</th> <th>Year</th> </tr> #foreach($cd in $myXML.children().iterator()) #set($cdXML = $xmltool.parse($cd)) #if($velocityCount<=5) <tr> <td>$cdXML.TITLE.text </td> <td>$cdXML.ARTIST.text </td> <td>$cdXML.COUNTRY.text </td> <td>$cdXML.COMPANY.text </td> <td>$cdXML.PRICE.text </td> <td>$cdXML.YEAR.text</td> </tr> #end #end </table>
***Pull from w3schools "CD Catalog" XML Page***
Title | Artist | Country | Company | Price | Year |
---|---|---|---|---|---|
Empire Burlesque | Bob Dylan | USA | Columbia | 10.90 | 1985 |
Hide your heart | Bonnie Tyler | UK | CBS Records | 9.90 | 1988 |
Greatest Hits | Dolly Parton | USA | RCA | 9.90 | 1982 |
Still got the blues | Gary Moore | UK | Virgin records | 10.20 | 1990 |
Eros | Eros Ramazzotti | EU | BMG | 9.90 | 1997 |