- see footer for list info -<
Hello everyone,

I have this code that should generate the same exact XML three ways, but I can't get the third way to work.

1. cfxml - this works exactly the way I want it.

<cfxml variable="whatIwant">
<breakfast_menu>
   <food>
       <name quantity="50" quantity2="150">Belgian Waffles</name>
       <description>Our famous Belgian Waffles</description>
   </food>
   <morefood/>
</breakfast_menu>
</cfxml>
<cfdump var="#whatIwant#"/>

2. xmlNew() - this works like cfxml, but quantity and quantity2 attributes come out as uppercase

<cfset myXML = XmlNew()/>
<cfset myXML.xmlRoot = XmlElemNew(myXML, "breakfast_menu")/>
<cfset myXML.breakfast_menu.xmlChildren[1] = XmlElemNew(myXML, "food")/>
<cfset myXML.breakfast_menu.xmlChildren[2] = XmlElemNew(myXML, "morefood")/>
<cfset myXML.breakfast_menu.food.xmlChildren[1] = xmlElemNew(myXML, "name")/> <cfset myXML.breakfast_menu.food.xmlChildren[2] = xmlElemNew(myXML, "description")/>
<cfset myXML.breakfast_menu.food.name.xmlText = "Belgian Waffles"/>
<cfset myXML.breakfast_menu.food.name.xmlAttributes.quantity = 50 /><!--- this comes out as uppercase ---> <cfset myXML.breakfast_menu.food.name.xmlAttributes.quantity2 = 150 /><!--- this comes out as uppercase ---> <cfset myXML.breakfast_menu.food.description.xmlText = "Our famous Belgian Waffles"/>
<cfset myXML.breakfast_menu.xmlChildren[2] = xmlElemNew(myXML, "morefood")/>
<cfdump var="#myXML#"/>

3. xmlNew(true) - I'm trying to get the quantity/quantity2 attributes to be case sensitive. I cannot get this to work at all. I cannot add the child node "name" under "food"

<cfscript>
   myXML = xmlNew(true);
   myXML.xmlRoot = xmlElemNew(myXML, "breakfast_menu");
   myXML.xmlRoot["breakfast_menu"][1] = xmlElemNew(myXML, "food");
   myXML.xmlRoot["breakfast_menu"][1] = xmlElemNew(myXML, "morefood");
   myXML.["breakfast_menu"]["food"][1] = xmlElemNew(myXML, "name");
   //myXML.xmlRoot[1][1][1] = xmlElemNew(myXML, "name"); //does not work
//myXML["breakfast_menu"]["food"][1] = xmlElemNew(myXML, "name"); //this does not work //myXML.xmlRoot["breakfast_menu"]["food"][1] = xmlElemNew(myXML, "name"); //this does not work //myXML.xmlRoot[1][1][1] = xmlElemNew(myXML, "name"); //this does not work
</cfscript>
<cfdump var="#myXML#"/>

http://livedocs.adobe.com/coldfusion/8/htmldocs/help.html?content=XML_08.html says not to use dot notation when referencing case sensitive XML. One of the examples in there, I cannot get to work:

        MyDoc.["employee"]["name"][1]


which would translate to my code as:

        myXML.["breakfast_menu"]["food"][1]

I get an error saying 'A CFML variable name cannot end with a "." character.'

Thanks for the help!

_______________________________________________

For details on ALL mailing lists and for joining or leaving lists, go to 
http://list.cfdeveloper.co.uk/mailman/listinfo

--
CFDeveloper Sponsors:-
- cfdeveloper Hosting provided by www.cfmxhosting.co.uk -<
- Lists hosted by www.Gradwell.com -<
- CFdeveloper is run by Russ Michaels, feel free to volunteer your help -<

Reply via email to