设置元素的html内容和文本内容

如果你想在解析出的html中添加自己的内容,应用场景,更改内容保存入库


修改元素的html内容


创建一个简单的Java类:

public static void main(String[] args) throws IOException {    Document doc = Jsoup.connect("http://news.baidu.com/").get();    Element menuList = doc.select(".menu-list").first();    if(menuList!=null){        Elements as = menuList.select("a[href]");////带有href属性的a元素        if(as!=null && as.size()>0){            for(Element a:as){                a.html("<p>"+System.currentTimeMillis()+"</p>");//这个方法将先清除元素中的HTML内容,然后用传入的HTML代替                a.prepend("前边");//在元素内部HTML的前面                a.append("后边");//在元素内部HTML的前面                System.out.println(a);            }        }    } }

输出结果:

<a href="/">前边<p>1522768146655</p>后边</a> <a href="https://baijia.baidu.com/" id="nav-hot-link" target="_blank">前边<p>1522768146657</p>后边</a> <a href="/guonei">前边<p>1522768146658</p>后边</a> <a href="/guoji">前边<p>1522768146658</p>后边</a> <a href="/mil">前边<p>1522768146659</p>后边</a> <a href="/finance">前边<p>1522768146659</p>后边</a> <a href="/ent">前边<p>1522768146660</p>后边</a> <a href="/sports">前边<p>1522768146660</p>后边</a> <a href="/internet">前边<p>1522768146661</p>后边</a> <a href="/tech">前边<p>1522768146661</p>后边</a> <a href="/game">前边<p>1522768146662</p>后边</a> <a href="/lady">前边<p>1522768146662</p>后边</a> <a href="/auto">前边<p>1522768146663</p>后边</a> <a href="/house">前边<p>1522768146664</p>后边</a> <a href="http://jian.news.baidu.com/" target="_blank">前边<p>1522768146664</p>后边</a>


说明


Element.html(String html) 这个方法将先清除元素中的HTML内容,然后用传入的HTML代替。

Element.prepend(String first) 和 Element.append(String last) 方法用于在分别在元素内部HTML的前面和后面添加HTML内容

Element.wrap(String around) 对元素包裹一个外部HTML内容。


修改元素的文本内容


创建一个简单的Java类:

public static void main(String[] args) throws IOException {    Document doc = Jsoup.connect("http://news.baidu.com/").get();    Element menuList = doc.select(".menu-list").first();    if(menuList!=null){        Elements as = menuList.select("a[href]");////带有href属性的a元素        if(as!=null && as.size()>0){            for(Element a:as){                a.text("new:"+System.currentTimeMillis());                a.prepend("前");                a.append("后");                System.out.println(a);            }        }    } }

输出结果:

<a href="/">前new:1522768545855后</a> <a href="https://baijia.baidu.com/" id="nav-hot-link" target="_blank">前new:1522768545857后</a> <a href="/guonei">前new:1522768545858后</a> <a href="/guoji">前new:1522768545858后</a> <a href="/mil">前new:1522768545858后</a> <a href="/finance">前new:1522768545859后</a> <a href="/ent">前new:1522768545859后</a> <a href="/sports">前new:1522768545859后</a> <a href="/internet">前new:1522768545860后</a> <a href="/tech">前new:1522768545860后</a> <a href="/game">前new:1522768545860后</a> <a href="/lady">前new:1522768545861后</a> <a href="/auto">前new:1522768545861后</a> <a href="/house">前new:1522768545861后</a> <a href="http://jian.news.baidu.com/" target="_blank">前new:1522768545862后</a>


说明


文本设置方法与 HTML setter 方法一样:

Element.text(String text) 将清除一个元素中的内部HTML内容,然后提供的文本进行代替

Element.prepend(String first) 和 Element.append(String last) 将分别在元素的内部html前后添加文本节点。

对于传入的文本如果含有像 <, > 等这样的字符,将以文本处理,而非HTML