如何将当前元素嵌入到新元素中并使用 jsoup 更新到文档中
how to embedded current element into a new element and updated into document with jsoup
我正在使用 jsoup 处理 html 我想将
元素嵌入到
来自:
<div>
<img src="image.jpg"/>
</div>
至:
<div>
<p><img src="image.jpg"/><br></p>
</div>
我尝试使用under code但无法更新到jsoup文档中
@Test
public void testaddp(){
String acontent = "<div><img src="/base/img/avs.jpg"/></div>";
Document document = Jsoup.parseBodyFragment(acontent);
Element element = document.body();
Element imgelement = element.select("img").first();
Element newElement = new Element("p");
newElement = newElement.insertChildren(0,imgelement,new Element("br"));
System.out.println(newElement.outerHtml());//seems i got the correct html in newElement
//imgelement.replaceWith(newElement);//failed to update into element
imgelement.wrap(newElement.outerHtml());//also failed to update into element
//how to updated into document?
System.out.println();
}
尝试使用此代码。评论中的解释。
String acontent = "<head>Some head</head><body><div>A div</div><div><img src=\"/base/img/avs.jpg\"/></div><div>Another div</div></body>";
Document document = Jsoup.parse(acontent);
System.out.println(document);
//select element you want to change
Element img = document.select("img").first();
//wrap it with p
Element p = new Element("p");
p.html(img.outerHtml());
//append br
Element br = new Element("br");
p.appendChild(br);
//replace original with new
img.replaceWith(p);
System.out.println(document);
我找到了一个答案:
@Test
public void testaddp(){
String acontent = "<div><img src="/base/img/avs.jpg"/></div>";
Document document = Jsoup.parseBodyFragment(acontent);
Element element = document.body();
Element imgelement = element.select("img").first();
//find parent element
Element parentElement = imgelement.parent();
//add br after img tag
parentElement.insertChildren(parentElement.childNodeSize(),new Element("br"));
//add p tag out of img
imgelement.wrap("<p>")
System.out.println();
}
我正在使用 jsoup 处理 html 我想将 元素嵌入到
来自:
<div>
<img src="image.jpg"/>
</div>
至:
<div>
<p><img src="image.jpg"/><br></p>
</div>
我尝试使用under code但无法更新到jsoup文档中
@Test
public void testaddp(){
String acontent = "<div><img src="/base/img/avs.jpg"/></div>";
Document document = Jsoup.parseBodyFragment(acontent);
Element element = document.body();
Element imgelement = element.select("img").first();
Element newElement = new Element("p");
newElement = newElement.insertChildren(0,imgelement,new Element("br"));
System.out.println(newElement.outerHtml());//seems i got the correct html in newElement
//imgelement.replaceWith(newElement);//failed to update into element
imgelement.wrap(newElement.outerHtml());//also failed to update into element
//how to updated into document?
System.out.println();
}
尝试使用此代码。评论中的解释。
String acontent = "<head>Some head</head><body><div>A div</div><div><img src=\"/base/img/avs.jpg\"/></div><div>Another div</div></body>";
Document document = Jsoup.parse(acontent);
System.out.println(document);
//select element you want to change
Element img = document.select("img").first();
//wrap it with p
Element p = new Element("p");
p.html(img.outerHtml());
//append br
Element br = new Element("br");
p.appendChild(br);
//replace original with new
img.replaceWith(p);
System.out.println(document);
我找到了一个答案:
@Test
public void testaddp(){
String acontent = "<div><img src="/base/img/avs.jpg"/></div>";
Document document = Jsoup.parseBodyFragment(acontent);
Element element = document.body();
Element imgelement = element.select("img").first();
//find parent element
Element parentElement = imgelement.parent();
//add br after img tag
parentElement.insertChildren(parentElement.childNodeSize(),new Element("br"));
//add p tag out of img
imgelement.wrap("<p>")
System.out.println();
}