与jsoup

问题描述:

顺序解析我想分析一些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

如果我正确理解了您的请求,您正在寻找收集所有包含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

一个简单的办法:

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());