java - 如何在java中获取XHTML文件对象以及如何使用它?

标签 java html xml

我从 Ubuntu 14.04LTS 上的 tesseract 3.03 获取了 XHTML 文件 .hocr。如何将该文件中的数据放入java中的对象中?或者我还能如何处理这个?对我来说不幸的是,我没有使用 XML 文件的经验,因此我们将不胜感激。

文件示例:

<div class='ocr_page' id='page_1' title='image "test2jpg.jpg"; bbox 0 0 10000 10000; ppageno 0'>
  <div class='ocr_carea' id='block_1_1' title="bbox 250 192 8637 686">
    <p class='ocr_par' dir='ltr' id='par_1_1' title="bbox 250 192 8637 686">
      <span class='ocr_line' id='line_1_1' title="bbox 250 192 8637 414; baseline 0 -40">
        <span class='ocrx_word' id='word_1_1' title='bbox 250 192 1606 375; x_wconf 70' lang='eng' dir='ltr'>NAME</span>
        <span class='ocrx_word' id='word_1_2' title='bbox 1676 192 3051 375; x_wconf 73' lang='eng' dir='ltr'><strong>FIRSTNAME</strong></span>

唯一标识符应为“word_1_X”,其中X代表数字。

重点是获取 NAME 和 FIRSTNAME 以及他们在图片中的位置。 例如:

word_1_1 has X1=250 Y1=192

X2=1606 Y2=375

字符串值NAME。

有什么想法可以简单地实现这一点吗?

最佳答案

您通常使用 XML 解析器来解析 XML 文件。

但由于它看起来实际上是一个 HTML 文件(很可能只是 XHTML 文件生成的 HTML 输出,作为 JSF Web 应用程序的一部分),那么您最好使用 HTML 解析器。

many HTML parsers ,其中最适合解析现实世界 HTML 文件和提取特定数据的任务之一是 Jsoup .

假设 HTML 输出在 URL http://example.com/some/page.jsf 上可用,您可以使用以下方法使用 Jsoup 提取感兴趣的数据:

Document document = Jsoup.connect("http://example.com/some/page.jsf").get();

for (Element ocrxWord : document.select(".ocrx_word")) {
    String text = ocrxWord.text(); // NAME, FIRSTNAME, etc
    String title = ocrxWord.attr("title"); // bbox 250 192 1606 375; x_wconf 70, etc
    // ...
}

有了标题后,只需使用基本的 java.lang.String 方法将其进一步分解为更小的部分即可。这个责任超出了 HTML 解析器的范围,任何 Java 初学者都可以自己解决。

关于java - 如何在java中获取XHTML文件对象以及如何使用它?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30049358/

相关文章:

java - 构造一个通用 java 类,其中 T 是类 foo 或 foo 的子类

java - Docusign Java 集成出现错误 "http://java.sun.com/jsp/jSTL/core cannot be resolved"

python - 如何将 SOAP header 传递到 WSDL 文件中未定义的 python SUDS

xml - YAML 与 XML 的比较

java - 设置 CSS 样式 Uibinder Gwt

java - 递归 - 线程 "main"java.lang.StackOverflowError 中出现异常

java - 如何操作树语法

javascript - 当 url 上已有 # anchor 时如何滚动到特定元素

javascript - 下拉菜单不起作用 - Bootstrap

javascript - 为什么 image.src == "file.png"对于本地文件不返回 true?