Skip to main content
Inspiring
March 5, 2008
Answered

XML to Query Error

  • March 5, 2008
  • 1 reply
  • 436 views
I have an XML document that I'm trying to turn into a query, but I'm getting an error: "Element P is undefined in MYDOC." I have an element called "P-Info" and I think that the code doesn't like the dash.

I am trying to extract the TS, Latitude, Longitude and Own values out of the XML document.

I'm using CFMX 7.





This topic has been closed for replies.
Correct answer Newsgroup_User
unleashed wrote:
> I have an XML document that I'm trying to turn into a query, but I'm getting an
> error: "Element P is undefined in MYDOC." I have an element called "P-Info"
> and I think that the code doesn't like the dash.
>
> I am trying to extract the TS, Latitude, Longitude and Own values out of the
> XML document.
>
> CFML Document:
>
> <cffile action="read" variable="xml" file="#ExpandPath('.')#\sample.xml">
> <CFSet mydoc = XMLParse(xml)>
> <cfset pb = mydoc.META.P-Info.xmlChildren>
> <cfdump var="#pb#">

Yes, when you use dot notation every element must be a valid ColdFusion
variable name which means no spaces, dashes, ect.

If you have elements like this you must use array notation.
I.E. <cfset pb = mydoc["meta"]["p-info"]["xmlChildren"]>

OR if you don't mind mixing dot and array notation.
<cfset pb= myDoc.meta["p-info"].xmlChildren>

1 reply

Newsgroup_UserCorrect answer
Inspiring
March 5, 2008
unleashed wrote:
> I have an XML document that I'm trying to turn into a query, but I'm getting an
> error: "Element P is undefined in MYDOC." I have an element called "P-Info"
> and I think that the code doesn't like the dash.
>
> I am trying to extract the TS, Latitude, Longitude and Own values out of the
> XML document.
>
> CFML Document:
>
> <cffile action="read" variable="xml" file="#ExpandPath('.')#\sample.xml">
> <CFSet mydoc = XMLParse(xml)>
> <cfset pb = mydoc.META.P-Info.xmlChildren>
> <cfdump var="#pb#">

Yes, when you use dot notation every element must be a valid ColdFusion
variable name which means no spaces, dashes, ect.

If you have elements like this you must use array notation.
I.E. <cfset pb = mydoc["meta"]["p-info"]["xmlChildren"]>

OR if you don't mind mixing dot and array notation.
<cfset pb= myDoc.meta["p-info"].xmlChildren>
unleashedAuthor
Inspiring
March 6, 2008
Thanks Ian... I thought that it was probably the "d" (dash) that was causing the issue.