XMLTool

Last Updated: Oct 19, 2022
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>

Example

Here's a usage example created by Chris Falzone of the dotCMS community. Thanks, Chris!

First, we'll start with an example of an 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 five 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>

Example Output

Below is a live version of the code shown above, pulling from the "CD Catalog" XML document from W3Schools:

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

On this page

×

We Dig Feedback

Selected excerpt:

×