我是jsoup的新手并试图解析这个HTML 如何用jsoup解析它?
<tr id="bir" >
<td class ="number"> dsadds </td >
<td class ="name"> dsdad </td >
<td class ="idea"> dvewe </td ></tr>
<tr id="bir" >
<td class ="number"> ewe</td >
<td class ="name"> ewe</td >
<td class =idea> dsasdsds </td ></tr>
<tr id="bir" >
<td class ="number"> dsadd dsds </td >
<td class ="name"> dsdcdsd adds </td >
<td class ="idea"> dsad dsdsds </td ></tr>
这是我的代码
Elements kelime = document.select("tr#bir td.number");
Elements anlam = document.select("tr#bir td.name");
for(Element sectd:kelime){
for(Element sectd1:anlam){
result1 = sectd1.text();
Custom temp = new Custom("Big" + result,"Small" +result1);
fetch.add(temp);
}result = sectd.text();
}
我正在向列表中添加数据,因为我需要显示临时文件中tr的所有td信息。它实际上是针对循环问题我认为:%但我没有得到它:/。
有什么想法吗?
答案 0 :(得分:2)
谢谢你们的关注ı我在这里解决了问题..
Elements kelime = document.select("tr#bir");
for(Element sectd:kelime){
Elements tds = sectd.select("td");
result = tds.get(0).text();
result1 = tds.get(1).text();
result2 = tds.get(2).text();
Custom temp = new Custom("Kelime :" + result,"En erken Türkçe örnek :" + result1,"Köken :"+result2);
fetch.add(temp);
}
答案 1 :(得分:1)
您可以通过#getElementsByClass(X)解析类名为X的元素;
Document doc = Jsoup.connect(yourURL).userAgent("Mozilla").get();
Elements els = doc.getElementsByClass("number");
for (Element el : els) {
print(el.text());
}
...
答案 2 :(得分:0)
我只能猜出你的问题是什么。
我发现了两个问题:
如果你没有
,你的html示例会导致emptieness&LT;表&gt; examplehtmlcode&lt; /表&gt;
您在报价中使用结果之前有结果;我移动了“String result = sectd.text();”在内循环之前。
import java.io.File; import java.io.IOException; import org.jsoup。*; import org.jsoup.nodes.Document; import org.jsoup.nodes.Element; import org.jsoup.select.Elements; 公共类CopyOfparser {
public static void main(String[] args){
String filepath = "C:/Users/RH/Desktop/test/1234.html";
File input = new File(filepath);
Document document=null;
try {
document = Jsoup.parse(input, "ISO-8859-1");
} catch (IOException e) {
e.printStackTrace();
}
//这里开始你的代码:
Elements kelime = document.select("tr#bir td.number");
Elements anlam = document.select("tr#bir td.name");
for(Element sectd:kelime){
String result = sectd.text();
for(Element sectd1:anlam){
String result1 = sectd1.text();
System.out.println("Big" + result +" Small" +result1);
}
}
我得到了这个输出:
Bigdsadds Smalldsdad
Bigdsadds Smallewe
Bigdsadds Smalldsdcdsd adds
Bigewe Smalldsdad
Bigewe Smallewe
Bigewe Smalldsdcdsd adds
Bigdsadd dsds Smalldsdad
Bigdsadd dsds Smallewe
Bigdsadd dsds Smalldsdcdsd adds
这对你有帮助吗?