Hi,
I'm creating a XML file using the XMLV2 library engine. The code looks like this:
FILENAME MyXML "&dir.\kip.xml" ;
LIBNAME MyXML XMLV2 XMLENCODING=utf8 ;
DATA MyXML.Klas ;
SET sashelp.class (OBS=1) ;
RUN ;
LIBNAME MyXML CLEAR ;
FILENAME MyXML CLEAR ;
It successfully creates a XML file. However I would like to change 2 things. If you look at the XML file
<?xml version="1.0" encoding="utf-8" ?> <TABLE> <KLAS> <Name>Alfred</Name> <Sex>M</Sex> <Age>14</Age> <Height>69</Height> <Weight>112.5</Weight> </KLAS> </TABLE>
I would like to change the root tag to Klassen and the upcase KLAS to Klas. So it looks like this:
<?xml version="1.0" encoding="utf-8" ?> <Klassen> <Klas> <Name>Alfred</Name> <Sex>M</Sex> <Age>14</Age> <Height>69</Height> <Weight>112.5</Weight> </Klas> </Klassen>
Is there any way to do this?
Thierry
You probably will need to create a map file.
Or you could just post-process the file.
data _null_;
infile "&dir.\kip.xml" ;
file "&dir.\kip_fixed.xml" ;
input ;
if _infile_ = '<TABLE>' then _infile_='<Klassen>';
else if _infile_ = '</TABLE>' then _infile_='</Klassen>';
else if left(_infile_)='<KLAS>' then _infile_='<Klas>';
else if left(_infile_)='</KLAS>' then _infile_='</Klas>';
put _infile_;
run;
Postprocessing the file was my plan B
Think I will just do that, thanks!
Good news: We've extended SAS Hackathon registration until Sept. 12, so you still have time to be part of our biggest event yet – our five-year anniversary!
Learn how use the CAT functions in SAS to join values from multiple variables into a single value.
Find more tutorials on the SAS Users YouTube channel.
Ready to level-up your skills? Choose your own adventure.