Google电子表格ImportXML的简单Xpath

用户名

这是我要从中导入的XML:http : //api.eve-marketdata.com/api/item_history2.xml?char_name=demo®ion_ids=10000002&type_ids=16669&days=3

这些是上面的URL返回的XML内容:

<emd version="2">
    <currentTime>2014-05-10 13:17:27</currentTime>
    <result>
        <rowset name="history" key="typeID,regionID,date" columns="typeID,regionID,date,lowPrice,highPrice,avgPrice,volume,orders">
            <row typeID="16669" regionID="10000002" date="2014-05-08" lowPrice="27448" highPrice="37447.89" avgPrice="31586.6243" volume="156980" orders="24"/>
            <row typeID="16669" regionID="10000002" date="2014-05-09" lowPrice="30501.17" highPrice="37445" avgPrice="36530.1858" volume="170121" orders="16"/>
            <row typeID="16669" regionID="10000002" date="2014-05-10" lowPrice="33004" highPrice="33004.03" avgPrice="33004.0224" volume="40425" orders="3"/>
        </rowset>
    </result>
</emd>

但是由于它不是灰色文本,我如何获得行的volumeorders值?还有一个,如果可能的话,我如何才能使其仅从单个提取date,例如2014-05-08

这很简单,但我无法弄清楚,因为我对所有这些都还很陌生,甚至不知道要用谷歌搜索什么

到目前为止,这是我尝试过的方法:

=IMPORTXML("http://api.eve-marketdata.com/api/item_history2.xml?char_name=demo&region_ids=10000002&type_ids=16669&days=2" , "/emd/result/rowset/row")
明亮的达罗查

XPath表达式:

/emd/result/rowset/row

将选择一个包含所有三行的节点集。如果希望选择特定的行,则应附加一个[]包含所需行的谓词,例如:

/emd/result/rowset/row[2]

将选择第二行。

要从选定的行中选择单个属性,您只需要添加一个额外的位置步骤,即在属性名称前加上@符号。您可以使用以下表达式:

/emd/result/rowset/row[1]/@date
/emd/result/rowset/row[1]/@volume
/emd/result/rowset/row[1]/@orders

获得的内容datevolumeorders在第一行的属性,例如。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章