Google Sheet importxml从xml文件创建表

时间:2020-05-27 21:14:37

标签: xml google-sheets xml-parsing google-sheets-importxml xpath-1.0

尝试在Google表格中使用importxml。我的XML文件是这样的:

<file>
<file_name>file1</file_name>
<file_id>407897</file_id>
<disk_id>180622</disk_id>
</file>

此xml〜5k中有大量文件。 我正在尝试在Google表格中创建一个如下所示的表格:

col 1 | col 2 | col 3
file1 | 001   | 001
file2 | 002   | 002

现在,有时文件没有磁盘ID,因此它将是:

  <files>
    <file>
    <file_name>file1</file_name>
    <file_id>1</file_id>
    <disk_id>1</disk_id>
    </file>
    <file>
    <file_name>file2</file_name>
    <file_id>2</file_id>
    </file>
    <file>
    <file_name>file3</file_name>
    <file_id>3</file_id>
    <disk_id>1</disk_id>
    </file>
<files>

我要创建的表将是这样的:

col 1 | col 2 | col 3
file1 | 001   | 001
file2 | 002   | 
file2 | 002   | 001

我尝试使用:

=importxml("url","//file_name | //file_id | //disk_id")

这给了我类似的东西(单列):

file1
001
001
file2
002
file3
003
001

并添加转置,它给出了以下内容:

=transpose(importxml("url","//file_name | //file_id | //disk_id"))

file1 001 001 file2 002 file3 003 001

有什么方法可以在Google工作表中使用importxml来获取此信息?

1 个答案:

答案 0 :(得分:0)

您即将达到目标。您只需要修改XPath公式中的IMPORTXML即可读取行而不是属性。根据您的示例XML,您需要以下内容:

=IMPORTXML("{XML URL}","/FILES//FILE")