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!
April 27 – 30 | Gaylord Texan | Grapevine, Texas
Walk in ready to learn. Walk out ready to deliver. This is the data and AI conference you can't afford to miss.
Register now and lock in 2025 pricing—just $495!
Still thinking about your presentation idea? The submission deadline has been extended to Friday, Nov. 14, at 11:59 p.m. ET.
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.