SAS9中的XML操作讲解-经管之家官网!

人大经济论坛-经管之家 收藏本站
您当前的位置> 软件培训>>

SAS软件培训

>>

SAS9中的XML操作讲解

SAS9中的XML操作讲解

发布:crackman | 分类:SAS软件培训

关于本站

人大经济论坛-经管之家:分享大学、考研、论文、会计、留学、数据、经济学、金融学、管理学、统计学、博弈论、统计年鉴、行业分析包括等相关资源。
经管之家是国内活跃的在线教育咨询平台!

获取电子版《CDA一级教材》

完整电子版已上线CDA网校,累计已有10万+在读~ 教材严格按考试大纲编写,适合CDA考生备考,也适合业务及数据分析岗位的从业者提升自我。

完整电子版已上线CDA网校,累计已有10万+在读~ 教材严格按考试大纲编写,适合CDA考生备考,也适合业务及数据分析岗位的从业者提升自我。

SAS9XML操作在SAS9.1.3版本中,开始支持XML操作,通过其强大的XML引擎技术,已经把XML完美的体现在SAS里面具体体现如下:从SAS数据集导出一个XML文档,这个XML文档可以被其它产品使用,也可以被用于不同主机间的数据 ...
免费学术公开课,扫码加入


SAS9 XML操作
在SAS9.1.3版本中,开始支持XML操作,通过其强大的XML引擎技术,已经把XML完美的体现在SAS里面
具体体现如下:
从SAS数据集导出一个XML文档,这个XML文档可以被其它产品使用,也可以被用于不同主机间的数据传输
导入XML文档,这个XML文档可以转换为SAS数据集
在XML引擎使用上也非常简单,同其它引擎使用一样,首先要通过LIBNAME分配一个采用XML引擎的库,如下面例子,简单的把一个SAS数据集导出为一个XML文件
libname myfiles 'C:\My Files\';
libname myxml xml 'C:\My Files\XML\Singers.xml';
data myxml.Singers;
set myfiles.Singers;
run;
输出的XML文件内容如下:
<?xml version="1.0" encoding="windows-1252" ?>
<TABLE>
<SINGERS>
<FirstName> Tom </FirstName>
<Age> 62 </Age>
</SINGERS>
<SINGERS>
<FirstName> Willie </FirstName>
<Age> 70 </Age>
</SINGERS>
<SINGERS>
<FirstName> Randy </FirstName>
<Age> 43 </Age>
</SINGERS>
</TABLE>
XML引擎常见问题:
1、SAS XML引擎是采用DOM还是采用SAX方式处理?
答:XML会根据不同的情况使用不同的方式,如下:
如果格式化输出类型为GENERIC(缺省)或者ORACLE,那么XML引擎将采用DOM模型
如果你使用XMLMAP以导入一个XML文件,那么XML引擎将采用SAX模型
2、XML引擎会验证XML文档么?
答:不会,XML引擎会假设XML文档内容是全部正确的,引擎不使用DTD或者 SCHEMA
3、XML引擎和ODS MARKUP输出有什么不同?
答:ODS MARKUP可以输出XML文档,但不能读XML文档
4、为什么我导入XML文档时发生错误
答:XML引擎读文件依赖于其相应的选项XMLTYPE=。如果XML文件不符合SAS格式,将会报错,你可以通过XMLMAP来规范化你的XML文件
一个例外是HTML文件格式,XML引擎只支持导出,而不支持导入
5、我可以使用SAS数据选项作用于XML引擎上么?
答:可以,但需要小心使用
6、为什么导出的XML文件中含有空格
答:因为XML引擎是和W3C标准保持一致,所有会在元素的前、后加入空格,如果你想去除空格也可以,只需使用指定的 Tagset ,如下:
libname testxml xml 'C:\My Documents\XML\nospace.xml' tagset=tagsets.sasxmnsp;
proc copy in=sashelp out=testxml;
select class;
run;
这样产生的XML中就不会含有空格,如下
<?xml version="1.0" encoding="windows-1252" ?>
- <TABLE>
- <CLASS>
<Name>Alfred</Name>
<Sex>M</Sex>
<Age>14</Age>
<Height>69</Height>
<Weight>112.5</Weight>
</CLASS>
7、可以自定义自己的输出/输入格式么?
答:可以,通过使用Tagset,如XML引擎在默认输出时元素名采用字段名,如果你想自定义输出为标签名,可以如下使用:
/*产生数据集*/
data Singers;
input Name $ Style $;
label Name="SingerFirstName"
Style="MusicStyle";
datalines;
Tom Rock
Kris Country
Willie Country
Barbra Contemporary
Paul Rock
Randy Country
;
run;
/*定义TAGSET*/
proc template;
define tagset Tagsets.Uselabs;
parent = tagsets.sasxmog;
notes "Uses label instead of name for tags";
define event SASColumn;
start:
ndent;
put '<' ;
put TEXT / if cmp(XMLDATAFORM, "ATTRIBUTE");
put ' name="' / if cmp(XMLDATAFORM, "ATTRIBUTE");
put LABEL;
put '"' / if cmp(XMLDATAFORM, "ATTRIBUTE");
break;
finish:
xdent / if exists(MISSING);
break / if exists(MISSING);
put ' />' / if cmp(XMLDATAFORM, "ATTRIBUTE");
put CR / if cmp(XMLDATAFORM, "ATTRIBUTE");
xdent / if cmp(XMLDATAFORM, "ATTRIBUTE");
break / if cmp(XMLDATAFORM, "ATTRIBUTE");
put '</' ;
put LABEL;
put '>' ;
put CR;
xdent;
break;
end;
end; /* uselabs */
run;
/*输出XML文件*/
libname testxml xml 'C:\My Documents\XML\labels.xml' tagset=tagsets.uselabs;
proc copy in=work out=testxml;
select Singers;
run;
上面只是SAS XML引擎介绍的一部分,具体请参考下面网址:
http://support.sas.com/rnd/base/topics/sxle913/usersguide913.htm
「经管之家」APP:经管人学习、答疑、交友,就上经管之家!
免流量费下载资料----在经管之家app可以下载论坛上的所有资源,并且不额外收取下载高峰期的论坛币。
涵盖所有经管领域的优秀内容----覆盖经济、管理、金融投资、计量统计、数据分析、国贸、财会等专业的学习宝库,各类资料应有尽有。
来自五湖四海的经管达人----已经有上千万的经管人来到这里,你可以找到任何学科方向、有共同话题的朋友。
经管之家(原人大经济论坛),跨越高校的围墙,带你走进经管知识的新世界。
扫描下方二维码下载并注册APP
本文关键词:

本文论坛网址:https://bbs.pinggu.org/thread-794809-1-1.html

人气文章

1.凡人大经济论坛-经管之家转载的文章,均出自其它媒体或其他官网介绍,目的在于传递更多的信息,并不代表本站赞同其观点和其真实性负责;
2.转载的文章仅代表原创作者观点,与本站无关。其原创性以及文中陈述文字和内容未经本站证实,本站对该文以及其中全部或者部分内容、文字的真实性、完整性、及时性,不作出任何保证或承若;
3.如本站转载稿涉及版权等问题,请作者及时联系本站,我们会及时处理。
数据分析师 人大经济论坛 大学 专业 手机版
联系客服
值班时间:工作日(9:00--18:00)