【问题标题】:Sequential parsing with jsoup使用 jsoup 进行顺序解析
【发布时间】:2017-05-26 06:55:20
【问题描述】:

我想解析一些html页面,例如:

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

但元素只存储嵌套标签,所以它只存储图像。
我应该怎么做才能以正确的顺序解析?

【问题讨论】:

  • 你最终想要达到什么目标?预期的结果是什么?
  • @SergeyProkofiev,我想以与网站上相同的顺序撰写内容。但现在,我可以按以下顺序编写它:text1、text2、image 或 image text1、text2。

标签: java parsing jsoup html-parsing


【解决方案1】:

如果我正确理解您的请求,您正在寻找收集封闭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" 

希望对你有帮助!

【讨论】:

  • 非常感谢,这正是我需要的。
猜你喜欢
  • 2016-01-16
  • 2012-09-03
  • 2014-02-08
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-11-07
  • 1970-01-01
相关资源
最近更新 更多