需求背景
需要把配置在数据库的H5网页模板(字段为text类型),动态插入变量,返回给前端整个html的文本.
具体实现
String htmlText = "<html>" +
"<head><title>H5模板</title></head>" +
"<body>" +
"<div>变量名:<span id='demoValue'> </span><div>" +
"</body>" +
"</html>";
//该方法可以将字符串文本转化成文档对象 Document
Document doc = Jsoup.parse(htmlText);
//下面就是熟悉的操作,可以根据各类选择器,获取或赋予元素对应的值
Element sellNameElement = doc.getElementById("demoValue");
//向获取的元素添加子节点(文本),用来达到赋值的效果
Node node = new TextNode("对应的变量值");
sellNameElement.appendChild(node);
//输出成html文本
String htmlStr = doc.outerHtml();
System.out.println(htmlStr);
输出结果如下图所示:
maven依赖:
<dependency>
<groupId>org.jsoup</groupId>
<artifactId>jsoup</artifactId>
<version>1.16.1</version>
</dependency>
一个很好用的html解析工具类