小编Juh*_*a K的帖子

使用 XMLMAP 从 SAS 写入分层 XML 文件

我必须从 SAS 数据集生成一个 XML 文件。XML 文件的格式定义非常严格,我需要完全匹配它。我正在使用 SAS 9.4(注意:并坚持使用它!)并使用 XMLMAPs 和 libname xmlv2。我觉得我已经非常接近解决方案了,但还有一个我似乎无法通过的最后一道障碍!

XML 文件具有 3 级结构,单个 lvl 2 元素包含所有 lvl 3 元素。无论我尝试什么,我所有的 3 级元素似乎都会产生自己2 级元素。在导入或导出完全相同的数据时,SAS xmlv2 libname 引擎似乎甚至以不同的方式工作!下面重现的示例和步骤 - 如果可以,请帮助我!

示例数据

数据是文件列表以及与这些文件相关的一些属性。这些属性对所有文件都是通用的,只有列表中的文件名不同。这会在 SAS 工作中创建一个测试数据集:

proc sql;

create table input_data
  (col1 char(1),
  col2 char(1),
  file char(20));

insert into input_data
  values ('1', '2', 'file1.txt')
  values ('1', '2', 'file2.txt');

quit;
Run Code Online (Sandbox Code Playgroud)

所需的输出 XML

请注意,所有文件名都在它们自己的 FILE 元素中一起列出,嵌套在单个 FILES 元素中。公共属性是主 FILE_INFO 元素内的元素。这是我需要能够输出的结构。

<?xml version="1.0" encoding="windows-1252" ?>

<FILE_INFO>
  <COL1>1</COL1>
  <COL2>2</COL2>
  <FILES>
    <FILE>file1.txt</FILE>
    <FILE>file2.txt</FILE>
  </FILES>
</FILE_INFO> …
Run Code Online (Sandbox Code Playgroud)

xml sas

3
推荐指数
1
解决办法
1248
查看次数

标签 统计

sas ×1

xml ×1