6

我有一个关于从 Wikipedia 为我的 Android 应用程序解析数据的问题。我有一个脚本,可以通过读取源来下载 XML http://en.wikipedia.org/w/api.php?action=parse&prop=text&format=xml&page=ARTICLE_NAME(也可以通过替换为 JSON 来format=xml下载format=json.

但我不知道如何只访问目录中的某些部分。我想要的是当页面加载时,用户可以按下一个按钮,使弹出窗口出现,显示目录中的标题,并允许用户阅读该部分并且仅为方便起见。我对 JSON 有点动摇,但有可能做到这一点吗?或者,是否有来自 Wikipedia 的 API 允许开发人员仅查看页面的某些部分?

谢谢!

4

2 回答 2

8

不幸的是,mediawiki.org 文档parse似乎没有告诉您如何执行此操作。但是API 本身的文档是这样的:您可以使用section参数。您可以使用它prop=sections来获取部分列表。

所以,你可以先使用:

http://en.wikipedia.org/w/api.php?format=xml&action=parse&page=Android_%28operating_system%29&prop=sections

获取部分列表,然后

http://en.wikipedia.org/w/api.php?format=xml&action=parse&page=Android_%28operating_system%29&prop=text§ion=26

获取特定部分的 HTML。

于 2012-05-06T08:24:16.547 回答
2

action=parse 不适用于 per-section 解析,请考虑以下示例:

Foo is a bar<ref>really!</ref>
== References ==
<references/>

仅解析第零部分将导致红色错误消息 about without 而解析第一个将导致空引用列表。

但是,有一个更好的解决方案:action=mobileview不仅没有这个问题,而且还专门用于移动应用程序,并为您提供移动优化的 HTML。

于 2012-05-07T20:32:47.263 回答