2017-05-26 60 views
0

順序解析我想分析一些HTML頁面,例如:與jsoup

<div class="class_Name"> 
"Unknown text" 
<img src="link_To_Image"> 
"Unknown text" 
</div> 

有了這個代碼

Element element = document.select("div.class_Name").first(); 
Elements elements = element.children(); 

但元素只存儲嵌套的標籤,所以它僅存儲圖像。
我應該如何解析正確的順序?

+0

你想實現什麼最終?預期的結果是什麼? –

+0

@SergeyProkofiev,我想按照它在網站上的順序撰寫內容。但現在,我可以按以下順序撰寫:text1,text2,image或image text1,text2。 – vbif212

回答

0

如果我正確理解了您的請求,您正在尋找收集所有包含div的內部節點的方法。如果是這樣,你需要調用Node.childNodes

String input = "<div class=\"class_Name\">\n\"Unknown text\"\n" 
     + "<img src=\"link_To_Image\">\n\"Unknown text\"\n</div>"; 

    Document doc = Jsoup.parse(input); 
    Element element = doc.select("div.class_Name").first(); 

    List<Node> nodes = element.childNodes(); 
    for (Node n : nodes) { 
     System.out.println(n); 
    } 

將打印

"Unknown text" 
<img src="link_To_Image"> 
"Unknown text" 

希望它能幫助!

+0

非常感謝,這是我需要的。 – vbif212

0

一個簡單的辦法:

String input = "<div class=\"class_Name\">\n\"Unknown text\"\n" 
      + "<img src=\"link_To_Image\">\n\"Unknown text\"\n</div>"; 

Document doc = Jsoup.parse(input); 
Element element = doc.select("div.class_Name").first(); 
System.out.println(element.html());