I am trying to return an XML string through a CFC.

Here is my problem:

I create an XML doc from my query. I call the var xmlObj. I want to turn
this into a string, so I use ToString(xmlObj), but it returns an error. Any help on how to fix this would be great.

<cfscript>
function queryToXML(query){
var root = "query";
var row = "row";
var cols = listToArray(query.columnList);
var nodeMode = "values";
var ii = 1;
var rr = 1;
var thisColumn = "";
var thisValue = "";
var xml = xmlNew();
if(structCount(arguments) GTE 2)
root = arguments[2];
if(structCount(arguments) GTE 3)
row = arguments[3];     
if(structCount(arguments) GTE 4)
nodeMode = arguments[4];   
xml.xmlRoot = xmlElemNew(xml,root);
xml[root].xmlAttributes["columns"] = arrayLen(cols);
xml[root].xmlAttributes["rows"] = query.recordCount;
for(rr = 1; rr LTE query.recordCount; rr = rr + 1){
arrayAppend(xml[root].xmlChildren,xmlElemNew(xml,row));
for(ii = 1; ii LTE arrayLen(cols); ii = ii + 1){
thisColumn = lcase(cols[ii]);
thisValue = query[cols[ii]][rr];
switch(nodeMode){
case "rows":

xml[root][row][rr].xmlAttributes[thisColumn] = thisValue;
break;
case "columns":

arrayAppend(xml[root][row][rr].xmlChildren,xmlElemNew(xml,thisColumn));

xml[root][row][rr][thisColumn].xmlAttributes["value"] = thisValue;
break;
default:

arrayAppend(xml[root][row][rr].xmlChildren,xmlElemNew(xml,thisColumn));

xml[root][row][rr][thisColumn].xmlText = thisValue;

}

}
}
return xml;   
}
</cfscript>

<CFFUNCTION Name="GetSingleDate" returntype="string" access="remote">

<cfargument Name="FromDate" type="date" required="true">

<CFSET Stdate = CreateDateTime( Year(arguments.FromDate), Month(arguments.FromDate), Day(arguments.FromDate), 0, 0, 0)>
<CFSET Enddate = CreateDateTime( Year(arguments.FromDate), Month(arguments.FromDate), Day(arguments.FromDate), 23, 59, 59)>

<CFQUERY Name="RetrievedSingelDayData" Datasource="TravelVAClearinghouse">
SELECT *
FROM tblIncidents
WHERE DateEntered BETWEEN #Stdate# AND #Enddate#
</CFQUERY>

<cfscript>
q = RetrievedSingelDayData;
xmlObj = queryToXML(q);
xmlString = toString(xmlObj);

</cfscript>

<cfreturn xmlString>

</CFFUNCTION>
[Todays Threads] [This Message] [Subscription] [Fast Unsubscribe] [User Settings] [Donations and Support]

Reply via email to