2015-05-05 15 views
1

我從正方體3.03 Ubuntu上14.04LTS了XHTML文件.hocr。我怎樣才能把這個文件中的數據放到java中的一個對象中?或者我還能如何處理這件事?對於我來說不幸的是,我對XML文件的工作沒有經驗,所以任何幫助都將不勝感激。文件如何獲取XHTML文件在java中的對象以及如何使用它?

例如:

<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和名字及其照片possitions。 例如:

word_1_1具有X1 = 250 Y1 = 192

X2 = 1606 Y2 = 375

字符串值NAME。

任何想法如何簡單地實現這一目標?

+0

除了我有困難要了解這個問題,使用適當的XML解析器,你有興趣像JAXB(包括作爲Java SE 6 API的一部分)或JAXP。如果你需要的話,還有一個HTML解析器JSOUP。的 – Tiny

+0

可能重複【JAVA:如何讀寫XML文件(http://stackoverflow.com/questions/7373567/java-how-to-read-and-write-xml-files) – Joe

回答

1

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

但是,因爲它似乎是實際上是一個HTML文件(很可能只是一個XHTML文件製作爲JSF Web應用程序的一部分HTML輸出),那麼你最好使用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初學者都可以自己計算出來。

+0

是啊,謝謝爲了你的幫助,沒有做過這樣的事情,所以我在這裏+語言barriere有點無知。我會在今天晚些時候嘗試一下,如果它能夠正常工作,請馬上解決。 – Candybrk

相關問題