2012-01-25 151 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'的子元素,那麼它將返回列表中的兩個節點(不是*一個*節點,它顯示在它下面的孩子)。 –

相關問題