我正在解析的html是这样的:<article id="1234" class="bg-post ">....</article>当我尝试使用jsoup解析它时,我得到了一个空字符串Elements e = doc.select("article[class=bg-post ]");或使用Elements e = doc.getElementsByClass("bg-post ");的大小为 0 且为空。ee.toString()它是否与类名末尾的空格有关,我该如何解决此问题。谢谢。编辑:还尝试在没有空间的情况下搜索Elements e = doc.select("article[class=bg-post]");仍然是同样的问题。
2 回答
catspeake
TA贡献1111条经验 获得超0个赞
这是一个影响之前版本的错误JSoup
1.8.2
如果元素未正确进行空间规范化,则不能简单地按属性的值选择元素。
如果您真的必须坚持使用某些旧版本,则可以通过这种性能较低的方式对其进行解决:JSoup
document.select(".bg-post").select("article")
子衿沉夜
TA贡献1828条经验 获得超3个赞
给我的
Elements e = doc.select("article[class=bg-post ]");
工作正常!
这是我的代码:
Document document = Jsoup.connect("http://localhost:8080/index.html").get(); Elements select = document.select("article[class=bg-post ]");
结果:
中文:
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Title</title>
</head>
<body>
<article id="1234" class="bg-post ">
<div>test1</div>
<div>test2</div>
<div>test3</div>
</article>
</body>
</html>
和依赖关系:
<dependency>
<groupId>org.jsoup</groupId>
<artifactId>jsoup</artifactId>
<version>1.11.3</version>
</dependency>
添加回答
举报
0/150
提交
取消