这是我要导入的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>
但由于它不是灰色文本,我如何获得该行的volume
和orders
值?
另一个,如果可能的话,如何才能从date
中提取一个2014-05-08
?
这很简单,但我无法弄明白,因为我对所有这一切都很陌生,我甚至不知道该怎么去谷歌
这是我迄今为止所做的尝试:
=IMPORTXML("http://api.eve-marketdata.com/api/item_history2.xml?char_name=demo®ion_ids=10000002&type_ids=16669&days=2" , "/emd/result/rowset/row")
答案 0 :(得分:2)
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
例如,获取第一行的date
,volume
和orders
属性的内容。