【问题标题】:JSoup, remove ElementsJSoup,删除元素
【发布时间】:2015-11-28 20:10:17
【问题描述】:

基本上我想要实现的是删除具有colspan=2 的元素,只留下其他元素。我实际上正在尝试使用此代码,但它不起作用,有什么想法吗? :)

这是我的代码:

try {
      docSpielTagSpiele = Jsoup.connect(url).get();
} catch (IOException ex) {
      Logger.getLogger(FullFrame.class.getName()).log(Level.SEVERE, null, ex);
}

Elements spieltagElements = docSpielTagSpiele.select("div#Content > div.rahmen > div.rahmenbody > table.Spiele > tbody > tr > td.Heim");
System.out.println(spieltagElements);
System.out.println("SIZE: " + spieltagElements.size());

System.out.println("------------------------------------------------------------------------");

Elements el = spieltagElements.select("td.Heim[colspan=2]").remove();

System.out.println(el);
System.out.println("SIZE: " + el.size());

System.out.println("------------------------------------------------------------------------");

System.out.println("ELEMENTS THAT NEED TO BE REMOVED");
Elements remove = spieltagElements.select("td.Heim[colspan=2]");
System.out.println(remove);
System.out.println("SIZE: " + remove.size());

这是我的输出:

http://pastebin.com/ajY88FGn(不能直接显示,虽然编辑器是直接解析的……)

已经谢谢了:)

【问题讨论】:

    标签: java jsoup element


    【解决方案1】:

    您的方法可以正常工作。元素从 DOM 中删除,as explained in the documentation。 remove 方法不会清空您之前准备的元素集合。所以spieltagElements 将保持原样。但是,文档docSpielTagSpiele 不再包含已删除的元素。要看到这一点,您需要再次查询原始的docSpielTagSpiele

    【讨论】:

    • 没问题。我想这不是很清楚。但是 Jsoup 怎么知道哪些对您仍然保留在代码中的元素的引用呢?当您以这种方式考虑时,仅从 DOM 中删除它们实际上是有意义的。如果我的回答有帮助,您可以点赞。如果它解决了您的问题,请考虑接受答案。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-12-31
    • 2020-05-30
    • 1970-01-01
    相关资源
    最近更新 更多