XMLTool documentation for the dotCMS Content Management System

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