java - 从 Wikipedia XML 转储中提取表

标签 java xml-parsing extract wikipedia large-data

我想解析 XML 维基百科转储并从中提取所有不同类型的表(不仅仅是信息框)

我正在使用wikixmlj解析转储,但问题是解析维基百科转储中的不同类型的表(分割单元格表、合并单元格表、带有颜色代码的表)。

我能够解析XML文章,直到找到标记为表格的项目,但是在将表格解析为对象时,我没有可遵循的标准,而且似乎有多种类型的表格和多种排列。

是否有一些关于表类型的记录标准可供遵循,以便我可以在我要创建的运行时对象中涵盖该标准,或者有什么方法可以解决这个问题?

注意:

以下是一些示例,可帮助您了解我的意思:

http://en.wikipedia.org/wiki/List_of_Presidents_of_the_United_States See Andrew Jackson row (some rows are merged and split)

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 sometime the header is on both top and bottom

最佳答案

好的,如果您只对表格本身感兴趣,则需要执行以下操作

1-下载维基百科转储(所有转储)

2-将表从转储中提取到一个单独的文件或一组文件中: 使用正则表达式 \{\|[\s|\S]+?\n\|-?\}

3-使用库gwtwiki为转储构建模型,然后将表文件仅转换为 html:

-添加this classthis class到项目

-添加gwtwiki和其他必要的库

<小时/>

您现在拥有 html 文件,其中包含整个维基百科转储中出现的表格,并且这些表格采用 html 格式,因此很容易操作 (请注意,如果您想通过代码操作任何文件,请将其写入unicode文件中,因为表格的某些字符的编码)

关于java - 从 Wikipedia XML 转储中提取表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13166068/

相关文章:

python-3.x - 如何从 pd.Dataframe 中提取索引

java - 如何使用java将括号中的字符串放入数组中

java - 元素无法使用文本-selenium webdriver 定位

java - 我可以在 Java 中解析 XML,而不需要从外部获取 XML 文件输入吗?

java - 尝试使用 REST 生成 JSON 时出现 HTTP 500 错误

java - JaxB 自动从 XML 解析为 Java 类

c++ - 将 pugixml 节点设置为空?

string - 从字符串中提取类似字符串的路径

java - 错误使用异常 - 从 catch 返回值

java - Spring boot JPA多对多查询 |查找学生参加的所有类(class)