Dome4j在某一个节点下增加另一个xml的节点(包含其子节点信息)
package com.yzf.fintax.task.utils;import com.yzf.fintax.task.constant.HzrwTypeEnum;import org.apache.commons.lang3.StringUtils;import org.dom4j.Document;import org.dom4j.DocumentException;import org.d
·
package com.yzf.fintax.task.utils;
import com.yzf.fintax.task.constant.HzrwTypeEnum;
import org.apache.commons.lang3.StringUtils;
import org.dom4j.Document;
import org.dom4j.DocumentException;
import org.dom4j.DocumentHelper;
import org.dom4j.Element;
import java.util.ArrayList;
import java.util.List;
/**
* @author PSY
* @date 2020/7/29 9:54
* @description 回执信息的节点增加工具类
*/
public class MergeXmlUtil {
public static String getMergeXml(String hzxxXml, String shenbaoxml, Byte subType) {
Document hzxxTemp = null;
// 不是属于申报回执的就直接返回回执的信息
if (!HzrwTypeEnum.HZRW_TYPE_SB.equalType(subType.intValue()) || StringUtils.isBlank(shenbaoxml)) return hzxxXml;
try {
Element utf8ShenBao = getUtf8Element(shenbaoxml);
// 需要增加的节点信息内容集合
List<Element> taskItems = utf8ShenBao.elements("TaskItem");
hzxxTemp = getUtf8Document(hzxxXml);
Element rootElement = hzxxTemp.getRootElement();
for (Element element : taskItems) {
rootElement.add((Element) element.clone());
}
} catch (DocumentException e) {
e.printStackTrace();
}
return hzxxTemp == null ? hzxxXml : hzxxTemp.getRootElement().asXML();
}
// 获取utf-8的节点信息
private static Element getUtf8Element(String xmlInfo) throws DocumentException {
if (StringUtils.isBlank(xmlInfo)) {
return null;
}
// 转成xml编码
Document document = DocumentHelper.parseText(xmlInfo);
// 将utf-8的xml文档取出内容
Document utf8Document = DocumentHelper.parseText(document.asXML());
return utf8Document.getRootElement();
}
private static Document getUtf8Document(String xmlInfo) throws DocumentException {
if (StringUtils.isBlank(xmlInfo)) {
return null;
}
Document document = DocumentHelper.parseText(xmlInfo);
return DocumentHelper.parseText(document.asXML());
}
}
仅仅做为自己的参考
魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。
更多推荐


所有评论(0)