2010-08-19 153 views
0

藉此例如: http://en.wikipedia.org/wiki/United_States_Bill_of_Rights如何從維基百科獲取特定文本?

的「修訂」部分下,我想每一顆子彈點說的話,並在Android應用程序在一個不錯的列表中顯示出來。我知道有一個wikimedia api,但我完全不知道如何使用它,從我所瞭解的情況來看,您可以在一節中找到文本,但我不確定是否可以分別獲取每個要點。

這樣做的最好方法是什麼?或者取而代之,我是否應該花時間將超過300頁的文本複製到文本文件中,並在應用程序中讀取它?

+0

只需複製子彈點似乎是一個有效的策略。但你說的這300頁在哪裏?你只有一個鏈接。你指的是翻譯的頁面? – Mizipzor 2010-08-19 13:59:15

回答

2

此鏈接使用MediaWiki的API從你的問題查詢頁面(based on this wiki article):

http://en.wikipedia.org/w/api.php?action=query&prop=revisions&rvprop=content&format=xml&titles=United_States_Bill_of_Rights 

如您所見,它返回一個xml文檔,該頁面文本位於<rev>標籤下。它是mediawiki文本標記語言中的普通編輯器文本。

所以要從這個文本中提取信息,你應該使用一個解析。有些是用Java編寫的。

+0

謝謝!我測試過,它完美地工作 – magicman 2010-08-19 14:28:23

1

我相信你應該已經想到了這一點:

  • 如果你的目標是在您的應用程序來查看Wiki中,可以使用的WebView
  • 如果你的目標是捕獲特定數據元素,你可以下載HTML頁面和字符串處理它(DIV >> OL/UL >>李)