xpath:从xml中选择多个子元素属性
无法获得所需的输出。。。也许这是不可能的,但我对XPath选择器还不熟悉 我有如下XML:xpath:从xml中选择多个子元素属性,xml,xpath,sas,Xml,Xpath,Sas,无法获得所需的输出。。。也许这是不可能的,但我对XPath选择器还不熟悉 我有如下XML: <submission> <component type="X"> <audit> <measures> <measure id="xyz"> <reported>false</reported>
<submission>
<component type="X">
<audit>
<measures>
<measure id="xyz">
<reported>false</reported>
<benefit>false</benefit>
<data-elements>
<data-element id="rate1">
<reportable>false</reportable>
<comment/>
</data-element>
<data-element id="rate2">
<reportable>false</reportable>
<comment/>
</data-element>
<data-element id="rate3">
<reportable>false</reportable>
<comment/>
</data-element>
<data-element id="rate4">
<reportable>false</reportable>
<comment/>
</data-element>
</data-elements>
</measure>
<measure id="abc">
<reported>false</reported>
<benefit>false</benefit>
<data-elements>
<data-element id="rate5">
<reportable>false</reportable>
<comment/>
</data-element>
<data-element id="rate6">
<reportable>false</reportable>
<comment/>
</data-element>
<data-element id="rate7">
<reportable>false</reportable>
<comment/>
</data-element>
<data-element id="rate8">
<reportable>false</reportable>
<comment/>
</data-element>
</data-elements>
</measure>
</measures>
</audit>
</component>
</submission>
我希望我的输出得到所有的速率,而不仅仅是最后一个速率,比如:
MEASURE RATES REPORT
xyz rate1 false
xyz rate2 false
xyz rate3 false
xyz rate4 false
abc rate5 false
abc rate6 false
abc rate7 false
abc rate8 false
这是否可以使用XMLMAP实现,或者我需要其他东西
提前感谢您的输入
****编辑**************************************************************************
下面是一个基本的SAS程序,它将xml拉入并打印输出:
* set destination for output *;
LIBNAME DATA '<filepath>';
* set location of xml document and xml_map *;
LIBNAME XFILE XML '<filepath>\stack_example.xml'
XMLMAP='<filepath>\stack_import_map.xml';
* check import *;
PROC PRINT DATA= XFILE.AUDIT;
RUN;
我想出来了
在我的表路径中,我需要进入行级别,在那里我希望开始一个新的观察行,如:
<TABLE name="AUDIT">
<TABLE-PATH syntax="XPath">
/submission/component/audit/measures/measure/data-elements/data-element
</TABLE-PATH>
这将选择我想要的所有数据元素 忘了提到我发现了以下内容——但没有一个对我有帮助:——您正在使用SAS通过xmlmap导入此内容?什么版本的SAS?是的!我使用的是SAS 9.2.Yep,听起来和问题完全一样!
* set destination for output *;
LIBNAME DATA '<filepath>';
* set location of xml document and xml_map *;
LIBNAME XFILE XML '<filepath>\stack_example.xml'
XMLMAP='<filepath>\stack_import_map.xml';
* check import *;
PROC PRINT DATA= XFILE.AUDIT;
RUN;
<TABLE name="AUDIT">
<TABLE-PATH syntax="XPath">
/submission/component/audit/measures/measure/data-elements/data-element
</TABLE-PATH>