2012-10-31 93 views
1

我想解析XML維基百科轉儲,並從中提取出所有不同類型的表(不只是資訊盒)從維基百科XML提取錶轉儲

我使用wikixmlj解析轉儲,但問題解析維基百科轉儲中的不同類型的表格(分割單元格表格,合併單元格表格和帶有顏色代碼的表格)。

我能夠解析XML文章,直到我找到標記爲表格的項目,但在將表格解析爲對象時沒有遵循標準,並且似乎有許多類型的表格有很多排列方式。

是否存在一些關於要遵循的表類型的文檔標準,以便我可以在運行時創建的對象中覆蓋該標準,或者有任何方法可以解決該問題?

注:

這些都是一些例子來幫助你知道我的意思:

http://en.wikipedia.org/wiki/List_of_Presidents_of_the_United_States 見安德魯·傑克遜一行(某些行合併和拆分)

http://en.wikipedia.org/wiki/List_of_pharaohs

http://en.wikipedia.org/wiki/Open_Handset_Alliance

http://en.wikipedia.org/wiki/Comparison_of_web_server_software 有時頭是在頂部和底部

+1

這些表格是由不同的人爲不同的目的而編寫的,所以你不能期望有很大的一致性。 – svick

+0

我認爲至少產生xml轉儲的人會如何將它們放入多個定義的表類型中。 – SKandeel

+1

XML轉儲包含與原始頁面完全相同的文本,這就是轉儲的全部要點。而製作它們的人不會通過數百萬頁去做你期望的事。 – svick

回答

0

沒關係,如果你有興趣的表格中只有自己,你需要做以下

1 - 下載維基百科轉儲(所有的轉儲)

2,提取從垃圾堆裏的表到一個單獨的文件或文件集: 使用正則表達式\{\|[\s|\S]+?\n\|-?\}

3,使用圖書館gwtwiki建轉儲一個模型,然後轉換表只有文件到HTML:

-add this classthis class到項目

-add的gwtwiki的必要庫和其他


現在,您已經擁有了html文件,該文件包含出現在整個維基百科轉儲中的表格,並且表格爲html格式,因此很容易操作 (請注意,如果您想通過代碼操作任何文件以將其寫入unicode文件,因爲一些cha的編碼表)