- 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 -<