2012-01-25 152 views
0

我当前使用YQL来使用xpath提取维基百科的内容。用于选择具有子节点的父节点的xpath表达式

我目前使用XPath表达式为\\p。这个表达式选择所有段落节点剥离出像<a>所有子节点,<sup><strong>等。

由于这一点,我得到维基百科足球的输出这样的页面。 Link here

在此输出中,链接被剥离。

维基百科,自由的百科全书

。对于其他用途,见

或足球,,,,和,。有的称为 足球的许多不同的游戏。从左上到右下:

都在不同程度上都涉及到一个球与脚分数。全球这些运动中最受欢迎的是 ,只是“足球”或“足球”。不合格,这个词适用于 无论哪种形式的足球是最受欢迎的区域范围内的 其中出现包括,,,和其他相关的 比赛。足球的这些变化被称为足球“代码”。 .....................多

预计输出

维基百科,自由的百科全书

对于其他用途,见足球(消歧)

一些被称为足球的不同游戏。从左上角到 右下:协会足球或足球澳大利亚规则 足球国际足球规则橄榄球联盟橄榄球联赛,并 美式足球

足球体育都涉及不同程度,一球 脚进球。这些全球最受欢迎的运动项目是足球,通常称为“足球”或 “足球”。不合格的,字足球适用于任何一个 足球的形式是在字 出现,包括美式足球,澳大利亚人规则橄榄球加拿大足球盖尔式足球橄榄球区域范围内最流行联盟,橄榄球联盟1和 其他相关游戏。足球的这些变化被称为足球“代码” 。

(更大胆的话是一个具有链接)

因此,如何提取与它的子节点沿该段?我是xpath新手

+0

我认为您正在寻找// p/* –

+0

// p/*仅给出我的子节点...我需要父节点和子节点... –

+0

对不起,误解了您的需求我发表了答案。 –

回答

0

正确的答案是//p/descendant-or-self::*为了有父节点和子节点。

+0

感谢您的尝试......但子节点不在父节点内......如何让子节点在父节点的正确位置? –

+0

@AakashChakravarthy - 我认为你对XPath表达式返回的内容感到困惑。这听起来像你想看到*源* HTML,因为它出现在每个段落下面。一个XPath表达式选择节点,所以当你使用alain的答案时,你会得到该表达式匹配的节点列表。这是所有比赛的*组*。这不是*层次结构*。 –

+1

@AakashChakravarthy - 换句话说,如果它匹配一个'p' *和* a''那个'p'的子元素,那么它将返回列表中的两个节点(不是*一个*节点,它显示在它下面的孩子)。 –

相关问题