Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/xml/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/xpath/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
xpath:从xml中选择多个子元素属性_Xml_Xpath_Sas - Fatal编程技术网

xpath:从xml中选择多个子元素属性

xpath:从xml中选择多个子元素属性,xml,xpath,sas,Xml,Xpath,Sas,无法获得所需的输出。。。也许这是不可能的,但我对XPath选择器还不熟悉 我有如下XML: <submission> <component type="X"> <audit> <measures> <measure id="xyz"> <reported>false</reported>

无法获得所需的输出。。。也许这是不可能的,但我对XPath选择器还不熟悉

我有如下XML:

<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>