Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/xml/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Xml 获取xpath查询的祖先_Xml_Xpath_Google Sheets - Fatal编程技术网

Xml 获取xpath查询的祖先

Xml 获取xpath查询的祖先,xml,xpath,google-sheets,Xml,Xpath,Google Sheets,我正在将IMPORTXML与Google工作表一起使用。我想将以下嵌套列表转换为表。从技术上讲,文档是一个表格,每个单元格中都有列表 资料来源: 以下是我理想的表格布局: | Name | Section | | --- | --- | | Australia | AFC | | Iran | AFC | | ... | ... | 我使用了以下两个查询: /*[@id='mw-content-text']/div/

我正在将IMPORTXML与Google工作表一起使用。我想将以下嵌套列表转换为表。从技术上讲,文档是一个表格,每个单元格中都有列表

资料来源:

以下是我理想的表格布局:

| Name      | Section |
| ---       | ---     |
| Australia | AFC     |
| Iran      | AFC     |
| ...       | ...     |
我使用了以下两个查询:
/*[@id='mw-content-text']/div/div[9]/table/tr/td/ul/li/../../dl/dt/a
/*[@id='mw-content-text']/div/div[9]/table/tr/td/ul/li/span/a/祖先::td/dl/dt/a

问题是,正如你所猜测的,我也不明白为什么,所有这些查询所做的只是获取一个列表,其中包括AFC、CAF、CONCAAF、CONMEBOL、OFC、UEFA,而我只想从每个匹配的子元素中获取顶级元素


谢谢您的帮助。

您是否尝试了以下选择器:

//*[@id='mw-content-text']/div/div/table[@class='multicol']//li/parent::ul/preceding-sibling::dl/dt/a

让我知道这是否适合您,因为它只提供了这些标题。

第一列:
=IMPORTXML(“https://en.wikipedia.org/wiki/2018_FIFA_World_Cup“,”//h3/span[text()=”“Qualification”“]/parent::h3/以下同级::div[2]//li/span/a”)

第二栏:
=IMPORTXML(“https://en.wikipedia.org/wiki/2018_FIFA_World_Cup“,”//h3/span[text()=“Qualification”“]/parent::h3/后面的兄弟姐妹::div[2]//li/span/a[text()=“A1&”“”]/concenter::ul/前面的兄弟姐妹::dl”)


请注意,第二列中的xpath引用了A列,因此如果不从第一行开始,则应更新此引用

这基本上也是我最后提出的解决方案。实际上没有办法说,抓取n个项目,每n个项目,再上一层楼。哦,好吧。