-->

使用链接到MediaWiki从维基页面发送文本,但它回来的大混乱是有没有更好的办法,我能做到这一点拉

2019-08-18 02:37发布

我正在开发一款Android应用,从维基页面提取信息,并将其显示在应用程序。 目前我拉着所有类别的导航,并有我的应用程序设置为显示在WebView中的页面,但我想通过传递来的WebView只是拉信息和格式化自己,而不是掉价吧。

我现在用得到的文本是: http://scottlandminecraft.wikia.com/api.php?format=xml&action=query&titles=ZackScott&prop=revisions&rvprop=content

我的问题是文本回来的一大丛,没有任何人有任何想法,如何让这更格式化,所以我可以从标签解析还是我WASING我的时间,试图找到? 如果是的话会是更好的找到一个方法来分析,我需要通过这个拉文从标识去的文字,或者是有没有更好的办法?

感谢您的输入时间。

Answer 1:

最简单的方法,如果你不想来解析wiki标记自己,是检索页面的解析HTML版本,然后使用HTML解析器处理它(如jsoup的建议,Hasham)。

除了刚刮在普通wiki用户界面(这将给你的页面HTML包裹在导航皮肤),也有得到一个链接到MediaWiki网页的HTML文本的方法有两种:

  1. 使用该API与action=parse ,这将返回该页面的HTML包裹在一个链接到MediaWiki API XML(或JSON / YAML /等)的反应,这样的:

    • http://scottlandminecraft.wikia.com/api.php?format=xml&action=parse&page=ZackScott

  2. 或使用主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


Answer 2:

的内容是使用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



Answer 3:

如果你想解析HTML文件,然后Jsoup是首选。



文章来源: 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?