Exit
  • Global community
    • Language:
      • Deutsch
      • English
      • Español
      • Français
      • Português
  • 日本語コミュニティ
  • 한국 커뮤니티
1

Problem parsing XML data

Community Beginner ,
Feb 04, 2020 Feb 04, 2020

Hi everyone, I tried to parse a xml data but i couldnt figure it out.

I get this error:

Complex object types cannot be converted to simple values.

 

This is my code :

<cfset the_url = 'https://www.goodreads.com/author/list/210456?format=xml&key=xxxxxxxxxxxxxxxx' />

<cfhttp url="#the_url#" method="get" result="Results" timeout="999">

<cfset asd = XmlParse(Results)>

 

 

TOPICS
Getting started
661
Translate
Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines

correct answers 1 Correct answer

LEGEND , Feb 04, 2020 Feb 04, 2020

Because what is returned is more than just the content.  It also returns header information and some other things, so you have to specify "filecontent", unless you're CFDUMPing the result.

 

V/r,

 

^ _ ^

Translate
Community Expert ,
Feb 04, 2020 Feb 04, 2020

Do a dump of the results var.  Is it xml? And nothing else?

 

Some other tips:

  • In doing the dump, you should see what comes from the cfhttp, separate from any output of the page doing the dump (including cf debugging output) 
  • If the page being called in the_url is a cfml page, you want to be sure IT is not returning debug output. The xmlparse will choke on that. 
  • Another approach is to cfoutput (rather than cfdump) the results var, and then do a view>source in your browser to see what's coming back
  • Finally, I can't recall if xmlparse REQUIRES an xml "prolog" line, as the first in an xml string to parse. That would start with a line showing <?xml .. I'm writing on my phone and can't readily recall/test, but you can see the full line in the cfml docs page on xmlparse

Let us know how it goes. 


/Charlie (troubleshooter, carehart. org)
Translate
Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Community Beginner ,
Feb 04, 2020 Feb 04, 2020

Yes is a xml file 

Content-Typeapplication/xml; charset=utf-8

 

I find the soluiton i change the variable as   'Results.filecontent'   and it worked.

But still  dont know why didn't work at the first time

Translate
Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
LEGEND ,
Feb 04, 2020 Feb 04, 2020
LATEST

Because what is returned is more than just the content.  It also returns header information and some other things, so you have to specify "filecontent", unless you're CFDUMPing the result.

 

V/r,

 

^ _ ^

Translate
Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Resources