BookmarkSubscribeRSS Feed
🔒 This topic is solved and locked. Need further help from the community? Please sign in and ask a new question.
JuanDaniel
Quartz | Level 8

Hi masters!

 

I'm trying to read an XML from an external URL, the code that i use is like this:

 

filename Archive url 'https://myURL?$format=xml'
User="USER" pass="PASS";
filename SXLEMAP 'C:\mapa.map';
libname Archive xml92 xmlmap=SXLEMAP access=readonly;

 

Well this code works properly and I have tables in the library but when I try to filter the table with a query i get the error:

 

ERROR: Some code points did not transcode.
occurred at or near line 1, column 954035
ERROR: XML parsing error. Please verify that the XML content is well-formed.

 

I create the map file with SAS XML mapper and the automatic option.

 

Kind regards

1 ACCEPTED SOLUTION

Accepted Solutions
ChrisHemedinger
Community Manager

Might be an encoding mismatch.  If you can use UTF-8 encoding in your SAS session, you might have better luck.  Or take a look at the XML file (the column where the error was flagged) and see if it's an aberration -- something like a curly quote or some other character that really shouldn't be there.  I'd use Notepad++ for something like that.

It's time to register for SAS Innovate! Join your SAS user peers in Las Vegas on April 16-19 2024.

View solution in original post

7 REPLIES 7
ChrisHemedinger
Community Manager

Instead of running queries directly on the XML libname, I'd use DATA step to create a copy as a SAS data set.  Then run your filter on that.

 

data myxml;
  set Archive.myxml;
run;
It's time to register for SAS Innovate! Join your SAS user peers in Las Vegas on April 16-19 2024.
JuanDaniel
Quartz | Level 8

Thanks @ChrisHemedinger

 

But i tried with the data step and I get the same error.

 

Kind regards

ChrisHemedinger
Community Manager

Might be an encoding mismatch.  If you can use UTF-8 encoding in your SAS session, you might have better luck.  Or take a look at the XML file (the column where the error was flagged) and see if it's an aberration -- something like a curly quote or some other character that really shouldn't be there.  I'd use Notepad++ for something like that.

It's time to register for SAS Innovate! Join your SAS user peers in Las Vegas on April 16-19 2024.
JuanDaniel
Quartz | Level 8

@ChrisHemedinger How can i use the UTF-8 in my SAS session?

 

I think i dont have 954035 colunms :S

 

Kind regards

ChrisHemedinger
Community Manager

I suspect that your XML file is being read as a huge 1-line mass, and the column number is really a character position.  That's why I suggested Notepad++ -- it can handle large files and you can navigate to the 954,035th character position, see what's there.

It's time to register for SAS Innovate! Join your SAS user peers in Las Vegas on April 16-19 2024.
JuanDaniel
Quartz | Level 8

@ChrisHemedinger

 

The change for use the encoding UTF-8 in the file sasv9.cfg affects to all sessions, there is any way to force only one project to UTF-8 encoding or for only one dataset?

 

Kind Regards

 

JuanDaniel
Quartz | Level 8

Thanks!! @ChrisHemedinger

 

I change the encoding for the SAS session and it works!!!

 

Kind regards

sas-innovate-2024.png

Join us for SAS Innovate April 16-19 at the Aria in Las Vegas. Bring the team and save big with our group pricing for a limited time only.

Pre-conference courses and tutorials are filling up fast and are always a sellout. Register today to reserve your seat.

 

Register now!

SAS Enterprise Guide vs. SAS Studio

What’s the difference between SAS Enterprise Guide and SAS Studio? How are they similar? Just ask SAS’ Danny Modlin.

Find more tutorials on the SAS Users YouTube channel.

Click image to register for webinarClick image to register for webinar

Classroom Training Available!

Select SAS Training centers are offering in-person courses. View upcoming courses for:

View all other training opportunities.

Discussion stats
  • 7 replies
  • 1847 views
  • 1 like
  • 2 in conversation