我正在开发一款Android应用,从维基页面提取信息,并将其显示在应用程序。 目前我拉着所有类别的导航,并有我的应用程序设置为显示在WebView中的页面,但我想通过传递来的WebView只是拉信息和格式化自己,而不是掉价吧。
我现在用得到的文本是: http://scottlandminecraft.wikia.com/api.php?format=xml&action=query&titles=ZackScott&prop=revisions&rvprop=content
我的问题是文本回来的一大丛,没有任何人有任何想法,如何让这更格式化,所以我可以从标签解析还是我WASING我的时间,试图找到? 如果是的话会是更好的找到一个方法来分析,我需要通过这个拉文从标识去的文字,或者是有没有更好的办法?
感谢您的输入时间。
最简单的方法,如果你不想来解析wiki标记自己,是检索页面的解析HTML版本,然后使用HTML解析器处理它(如jsoup的建议,Hasham)。
除了刚刮在普通wiki用户界面(这将给你的页面HTML包裹在导航皮肤),也有得到一个链接到MediaWiki网页的HTML文本的方法有两种:
使用该API与action=parse
,这将返回该页面的HTML包裹在一个链接到MediaWiki API XML(或JSON / YAML /等)的反应,这样的:
- http://scottlandminecraft.wikia.com/api.php?format=xml&action=parse&page=ZackScott
或使用主index.php
与脚本action=render
,这将只返回HTML页面:
- http://scottlandminecraft.wikia.com/index.php?action=render&title=ZackScott
PS。 既然你在你的问题提的部分,让我指出, action=parse
API模块可以返回有关使用页面上的部分信息prop=sections
(甚至prop=sections|text
)。 举一个例子,看到这个API查询:
- http://scottlandminecraft.wikia.com/api.php?format=xml&action=parse&page=ZackScott&prop=sections
的内容是使用wiki语法格式。 您可以使用称为Bliki一个Java引擎的HTML渲染。
http://code.google.com/p/gwtwiki/
http://code.google.com/p/gwtwiki/wiki/Mediawiki2HTML
Bliki是没有想到的Android。 你需要它来编译它。 这似乎是可以做到的:
https://groups.google.com/forum/?fromgroups=#!topic/bliki/LNsmnEEZEV4
文章来源: Using MediaWiki to pull text from a Wikia page but it comes back in a big mess is there a better way I could do this to pull text from each section?