JSoup在这里。我有以下我试图解析的超文本标记语言:
<html><head>
<title>My Soup Materials</title>
<!--mstheme--><link rel="stylesheet" type="text/css" href="../../_themes/ice/ice1011.css"><meta name="Microsoft Theme" content="ice 1011, default">
</head>
<body><center><table width="92%"><tbody>
<tr>
<td><h2>My Soup Materials</h2>
<table width="100%%" cellspacing="0" cellpadding="0">
<tbody>
<tr>
<td align="left"><b>Origin:</b> Belgium</td>
<td align="left"><b>Count:</b> 2 foos</td>
</tr>
<tr>
<td align="left"><b>Supplier:</b> </td>
<td align="left"><b>Must Burninate:</b> Yes</td>
</tr>
<tr>
<td align="left"><b>Type:</b> Fizzbuzz</td>
<td align="left"><b>Add Afterwards:</b> No</td>
</tr>
</tbody>
</table>
<br>
<b><u>Notes</b></u><br>Drink more ovaltine</td>
</tr>
</tbody>
</table>
</center></body>
</html>
不幸的是,它的格式有点不正确(在
我有以下Java模型/POJO:
@Data // lombok; adds ctors, getters, setters, etc.
public class Material {
private String name;
private String origin;
private String count;
private String supplier;
private Boolean burninate;
private String type;
private Boolean addAfterwards;
}
我正试图让JSoup解析这个HTML,并从解析中提供一个
Material
实例。
获取
Material material = new Material();
Elements rows = document.select("table").select("tr");
for (Element row : rows) {
// row 1: origin & count
Elements cols = row.select("td");
for (Element col : cols) {
material.setOrigin(???);
material.setCount(???);
}
}
所以我可以得到每个
<td align="left"><b>Origin:</b> Belgium</td>
因此,第一个代码的
col.text()
匿名用户
我想你在找tdNode。ownText()
。还有一个简单的text()
,但正如文档所述,它将节点及其所有子节点的所有文本节点合并在一起,并对它们进行规范化。换句话说,tdNode。text()
为您提供字符串“原产地:比利时”
<代码>tdNode。ownText()只提供了“比利时”
和tdNode。儿童(0)。ownText()
只获取源代码:。
您还可以使用wholeText()
,这是非规范化的,但我认为您需要在这里进行规范化(主要是去除空白)。
主要内容:Jsoup 选择器 语法,Jsoup 选择器 说明,Jsoup 选择器 示例以下示例将展示在将 HTML 字符串解析为 Document 对象后选择器方法的使用。jsoup 支持类似于 CSS 选择器的选择器。 Jsoup 选择器 语法 document : 文档对象代表 HTML DOM。 Jsoup : 解析给定 HTML 字符串的主类。 html : HTML 字符串。 sampleDiv : 元素对象表示由 id“sampleDiv”标识的 html 节点元素。
下列的选项会根据你在第一步选择的文件格式而有所不同。 字段名行 Navicat 标识哪一行为字段名。 数据列 Navicat 在哪一行开始和停止读取实际数据。 【注意】如果在文件中没有字段名,请取消勾选字段名行选项。 日期格式 指定日期的格式。 四位数年份 若要以四位数显示年份,可勾选这个选项。 日期分隔符 指定日期的分隔符。 时间分隔符 指定时间的分隔符。 小数点符号 指定小数数值的小数点分隔符
本文向大家介绍Jsoup 使用CSS选择器选择元素,包括了Jsoup 使用CSS选择器选择元素的使用技巧和注意事项,需要的朋友参考一下 示例 您可以在此处找到支持的选择器的详细概述。
我正在尝试使用JSoup从网站上刮取一些内容。以下是我感兴趣的页面中的一些HTML内容示例: 我有兴趣获得页面中所有的列表(所以"Fizz","Buzz","Foo"和"Bar")。但是我不能只查询,因为他们到处都在使用类来装饰许多不同的元素。具体来说,我需要存在于元素中的所有。请注意,pbks可以包含0个pgs,pgs可以包含0个热词,热词可以包含1个其他热词。我有以下代码: 运行该代码将生成以
我最近尝试使用JSoup来解析HTML文档,我在JSoup上做了一遍turrorious,发现select-Method可能就是我要找的。 我试图完成的是找到html文档中拥有某个类的所有元素。为了测试这一点,我在amazon的网页上尝试了这一点(想法:找到所有有特定优惠的交易)。 因此,我检查了web页面,看看正在使用哪些类和ID,然后尝试将其集成到一个小代码段中。在本例中,我找到了follwi
我想提取一个文本后,每个标签使用jSoup。有什么方法可以直接选择它,还是我必须执行。