【问题标题】:importxml to google spreadsheet with xpath returns FALSEimportxml 到带有 xpath 的谷歌电子表格返回 FALSE
【发布时间】:2017-12-12 22:24:07
【问题描述】:

我正在尝试构建一个能够从远程存储的 xml 文件中提取数据的电子表格。 xml的结构如下:

<response>
  <content>
        <measurements>
          <measurement>
            <from>2017-12-11T01:00:00+01:00</from>
            <to>2017-12-11T02:00:00+01:00</to>
            <values>
              <value label="fw">19</value>
              <value label="bw">0</value>
            </values>
          </measurement>
and so on ...

我尝试使用 label="fw" 提取值,但在使用以下或类似语法时它只返回 FALSE 或 #N/A

={
  IMPORTXML(A1,"//*[name()='"&A2&"']/value/@label='fw'")
}

A1 是 URL(http://someurl.de/dir1/count-data_countdata_D8-80-39-D3-DD-C8_2017-12-12-01-00-00.xml - 删除了真实路径)

A2 = 值

XML 是&lt;?xml version='1.0' encoding='UTF-8'?&gt;

该 URL 有效,因为当我只尝试时

 ={
  IMPORTXML(A1,"//*[name()='"&A2&"']")
}

它返回两列的值:

0   0
0   0
0   0
0   0
0   0
0   0
4   0
9   1
49  1
133 6
151 18
150 11
107 5
101 4
75  5
108 9
111 17
125 46
107 65
26  23
2   0
0   0
0   0
0   0

我做错了什么?

编辑:Sample file

【问题讨论】:

    标签: xml xpath google-sheets


    【解决方案1】:

    这个怎么样?您可以使用value[@label='fw'] 检索该值。

    =IMPORTXML(A1,"//*[name()='"&A2&"']/value[@label='fw']")
    

    如果这不起作用,我很抱歉。

    编辑:

    =IMPORTXML(A1,"//*[local-name()='value'][@label='fw']")
    

    【讨论】:

    • @dan_ke 对于给您带来的不便,我深表歉意。 =IMPORTXML(A1,"//value[@label='fw']") 怎么样?你能告诉我们“A1”的网址吗?
    • 不工作。更新了上面的 url 但必须隐藏真实路径但它直接指向 xml
    • @dan_ke 你能从http://someurl.de/dir1/count-data_countdata_D8-80-39-D3-DD-C8_2017-12-12-01-00-00.xml 得到XML吗?在我的环境中,我无法从 URL 检索 XML 数据。
    • 我不得不删除真实的 URL,因为这是公司数据,但 url 工作正常。我用更多信息更新了这个问题。
    • @dan_ke 谢谢。那么,你可以试试=IMPORTXML(A1,"//*[local-name()='value'][@label='fw']")吗?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-01-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多