我想删除 html 文件头部的一些元素(CSS-标签)。
我尝试过这样的:
Document doc = Jsoup.parse(htmlString);
Element head = doc.head();
Elements headChildren = head.children();
for (Element el : headChildren) {
if (el.attr("type").contains("text/css") || el.attr("rel").contains("stylesheet")){
Log.d("HTML", "elements-before: " + el.nodeName()); //Log prints 7 elments
el.remove();
}
}
for (Element el : headChildren ) {
if (el.attr("type").contains("text/css") || el.attr("rel").contains("stylesheet")){
Log.d("HTML", "elements-after: " + el.nodeName()); //Log prints 7 elments again
}
}
我真的不知道我的错在哪里。请帮帮我。
预先感谢您的任何建议!
您正在删除Element
来自Document
它们所在的对象,而不是Elements
收藏。因此,当您打印每个Element
第二次,他们仍然在Elements
集合,但不在Document
.
Jsoup 类Element
, Comment
, Document
等等都是Node类的子类,Node类代表DOM树中的一个节点。方法remove()
是一个继承的方法Node
类,并且它从 DOM 树中删除节点。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)