PropertyPlaceholderHelper
- 说明
-
- 示例
说明
PropertyPlaceholderHelper 可以替换${key}、{key} 各式各样的占位符,是一个比较好用的字符串替换占位符的工具类,例如:替换短信模板信息,邮件模板信息,xml报文模板信息等。
示例
这里以xml 报文为例
import org.springframework.util.PropertyPlaceholderHelper;
import org.springframework.util.StringUtils;
import java.util.HashMap;
import java.util.Map;
public class Utils {
/**
* 替换 xml字符串中 ${aaa}
* @param xmlContent 字符串模板
* @param map map
* @return
*/
public static String replaceXmlElementValue(String xmlContent, Map<String, String> map){
if(!StringUtils.hasText(xmlContent)){
return xmlContent;
}
//定义${开头 ,}结尾的占位符
PropertyPlaceholderHelper propertyPlaceholderHelper = new PropertyPlaceholderHelper("${", "}");
//调用替换
return propertyPlaceholderHelper.replacePlaceholders(xmlContent, map::get);
}
public static void main(String[] args) {
Map<String ,String> map = new HashMap<>();
map.put("id","123123123");
map.put("name","如花");
map.put("age","18");
String content = "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n" +
"<tx>\n" +
" <txbody>\n" +
" <id>${id}</id>\n" +
" <name>${name}</name>\n" +
" <age>${age}</age>\n" +
" </txbody>\n" +
"</tx>";
String nxmlContent = replaceXmlElementValue(content, map);
System.out.println(nxmlContent);
}
}
输出内容
<?xml version="1.0" encoding="UTF-8"?>
<tx>
<txbody>
<id>123123123</id>
<name>如花</name>
<age>18</age>
</txbody>
</tx>