CF_XMLDatasource2Struct

Converts an XML document into a structure containing node values, attributes, and namespaces.

Syntax

<CF_XMLDatasource DATASOURCE="datasource_name"
                  r_STRUCT="return_structure_name">

DATASOURCE

Required. The name of the XMLDatasource to be converted.

r_STRUCT

Required. The name of the structure that will hold the converted XMLDatasource.

Usage

Each node in the returned structure, is represented by a structure containing the following keys:

Example

<!--- Create a simple Datasource --->
<CF_XMLDatasource name="People">
    <people>
        <person age="29">
                <name>Tom Dyson</name>
                <company>Torchbox</company>
        </person>
        <person age="27">
                <name>David Maddison</name>
                <company>WildFusion</company>
        </person>
    </people>
</CF_XMLDatasource>

<!--- Convert it to a structure --->
<CF_XMLDatasource2Struct Datasource="People" r_Struct="stPeople">

<!--- Display all people --->
<CFLOOP From="1" To="#ArrayLen(stPeople.ChildNodes)#" Index="personNum"> 

   <!--- Get a pointer to this person --->
   <CFSET person = stPeople.childNodes[personNum]>
   
   <!--- Display some Details --->
   <CFOUTPUT><b>#personNum#:</b><br></CFOUTPUT>

   <!--- Display an attribute --->
   <CFOUTPUT><i>Age:</i> #Person.Attributes["age"]#<br></CFOUTPUT>    
   
   <!--- Display child nodes --->
   <CFLOOP From="1" To="#ArrayLen(Person.ChildNodes)#" Index="detailsNum">
         <CFOUTPUT>
	         <i>#Person.ChildNodes[detailsNum].NodeName#:</i> #Person.ChildNodes[detailsNum].Value#<br>
         </CFOUTPUT>
   </CFLOOP>
</CFLOOP>

Produced by Tom Dyson of Torchbox, and David Maddison of Wildfusion Up One Level