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

Problem parsing XML data

Community Beginner ,
Feb 04, 2020 Feb 04, 2020

Copy link to clipboard

Copied

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

Views

522

Translate

Translate

Report

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,

 

^ _ ^

Votes

Translate

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

Copy link to clipboard

Copied

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)

Votes

Translate

Translate

Report

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

Copy link to clipboard

Copied

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

Votes

Translate

Translate

Report

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

Copy link to clipboard

Copied

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,

 

^ _ ^

Votes

Translate

Translate

Report

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
Documentation