谷歌文档上的IMPORTXML语法

时间:2017-01-02 11:41:49

标签: xml xpath

我尝试使用多种不同的格式来尝试从此XML API中提取特定值:

<?xml version="1.0" encoding="utf-8"?>
<eveapi version="2">
    <currentTime>2017-01-02 11:59:29</currentTime>
    <result>
        <state>4</state>
        <stateTimestamp>2017-01-02 12:13:29</stateTimestamp>
        <onlineTimestamp>2016-12-16 03:13:10</onlineTimestamp>
        <generalSettings>
            <usageFlags>3</usageFlags>
            <deployFlags>0</deployFlags>
            <allowCorporationMembers>1</allowCorporationMembers>
            <allowAllianceMembers>1</allowAllianceMembers>
        </generalSettings>
        <combatSettings>
            <useStandingsFrom ownerID="99005805"/>
            <onStandingDrop standing="0"/>
            <onStatusDrop enabled="0" standing="0"/>
            <onAggression enabled="0"/>
            <onCorporationWar enabled="1"/>
        </combatSettings>
        <rowset name="fuel" key="typeID" columns="typeID,quantity">
            <row typeID="16275" quantity="9300"/>
            <row typeID="4051" quantity="12110"/>
        </rowset>
    </result>
    <cachedUntil>2017-01-02 12:37:11</cachedUntil>
</eveapi>

我正在寻找的价值是这一行的数量:

<row typeID="4051" quantity="12140"/>

谢谢,我尝试了多种方法,但我似乎无法得到它。

2 个答案:

答案 0 :(得分:0)

以下XPath将找到row元素,其中typeID属性等于4051,然后返回相应的quantity属性值:

=importxml("URL here...", "//row[@typeID='4051']/@quantity")

答案 1 :(得分:0)

如果要选择此行的值(为空

<row typeID="4051" quantity="12110"/>   <!-- I fixed the value from 12140 to 12110 -->

你可以使用这个XPath表达式:

//row[@typeID='4051' and @quantity='12110']/text()

如果您只想获取quantity节点的row/@typeID属性的属性值,可以使用这个更简单的表达式

//row[@typeID='4051']/@quantity

将返回&#39; 12110&#39;使用您给定的XML。