dom4j删除XML声明

williamxiao williamxiao 墨衍会员 · AI 创作全网分发 墨衍智能分发 通过墨衍一键同步至各平台 可同步平台 CSDN微信公众号微博知乎掘金百家号博客园抖音小红书 你的文章也可以这样分发 墨衍会员 ¥399起/年,写一次发全网 我也要 + 加入社区
需求是这样的:需要将两个使用DOM4J生成的XML文件合成一个,详细如下:

有两个生成XML文件的方法,生方方法和生成的XML如下:
CreateXML1.java:

/**
* 将结果集构建成XML字符串
* @param lst 结果集
* @return XML字符串
*/
private String createXML(List lst)
{
if(lst==null||lst.size()<1)
return null;
// 获得dom4j xml文档对象
Document document = DocumentHelper.createDocument();
//创建dom4j xml根节点
Element root = document.addElement("hhsClientHealths");
//遍历list向根节点添加子元素
for (Iterator iterator = lst.iterator(); iterator.hasNext();)
{
HhsClientHealth hhsClientHealth = (HhsClientHealth) iterator.next();
Element element = root.addElement("hhsClientHealth");
element.addElement("chlthId").addText(hhsClientHealth.getChlthId());
element.addElement("clntId").addText(hhsClientHealth.getClntId());
element.addElement("clntName").addText(hhsClientHealth.getClntName());
element.addElement("blodtpId").addText(hhsClientHealth.getBlodtpId());
element.addElement("blodtpName").addText(hhsClientHealth.getBlodtpName());
element.addElement("hospId").addText(hhsClientHealth.getHospId());
element.addElement("hospName").addText(hhsClientHealth.getHospName());
element.addElement("chlthStatare").addText(hhsClientHealth.getChlthStatare().toString());
element.addElement("chlthWeight").addText(hhsClientHealth.getChlthWeight().toString());
element.addElement("chlthIllHistory").addText(hhsClientHealth.getChlthIllHistory());
element.addElement("chlthIrriHistory").addText(hhsClientHealth.getChlthIrriHistory());
}
//将XML输出到字符串
return document.asXML();
}

xml1.xml:

<?xml version="1.0" encoding="UTF-8" ?>
<hhsClientHealths>
<hhsClientHealth>
<chlthId>1</chlthId>
<clntId>1001</clntId>
<clntName>李先生</clntName>
<blodtpId>1</blodtpId>
<blodtpName>A</blodtpName>
<hospId>1</hospId>
<hospName>附二院</hospName>
<chlthStatare>170.0</chlthStatare>
<chlthWeight>100.2</chlthWeight>
<chlthIllHistory>无</chlthIllHistory>
<chlthIrriHistory>无</chlthIrriHistory>
</hhsClientHealth>
</hhsClientHealths>


CreateXML2.java:

/**
* 将结果集构建成XML字符串
* @param lst 结果集
* @return XML字符串
*/
private String createXML(List lst)
{
if(lst==null||lst.size()<1)
return null;
// 获得dom4j xml文档对象
Document document = DocumentHelper.createDocument();
//创建dom4j xml根节点
Element root = document.addElement("bloodTypes");
//遍历list向根节点添加子元素
for (Iterator iterator = lst.iterator(); iterator.hasNext();)
{
BloodType bloodType = (BloodType) iterator.next();
Element element = root.addElement("bloodType");
element.addElement("blodtpId").addText(bloodType.getBlodtpId());
element.addElement("blodtpName").addText(bloodType.getBlodtpName());
}
//将XML输出到字符串
return document.asXML();
}

xml2.xml:

<?xml version="1.0" encoding="UTF-8" ?>
<bloodTypes>
<bloodType>
<blodtpId>1</blodtpId>
<blodtpName>A</blodtpName>
</bloodType>
<bloodType>
<blodtpId>2</blodtpId>
<blodtpName>B</blodtpName>
</bloodType>
<bloodType>
<blodtpId>3</blodtpId>
<blodtpName>O</blodtpName>
</bloodType>
<bloodType>
<blodtpId>4</blodtpId>
<blodtpName>AB</blodtpName>
</bloodType>
</bloodTypes>


现在想要得到下面这样的XML:
want.xml:

<?xml version="1.0" encoding="UTF-8" ?>
<hhsClientHealths>
<hhsClientHealth>
<chlthId>1</chlthId>
<clntId>1001</clntId>
<clntName>李先生</clntName>
<blodtpId>1</blodtpId>
<blodtpName>A</blodtpName>
<hospId>1</hospId>
<hospName>附二院</hospName>
<chlthStatare>170.0</chlthStatare>
<chlthWeight>100.2</chlthWeight>
<chlthIllHistory>无</chlthIllHistory>
<chlthIrriHistory>无</chlthIrriHistory>
</hhsClientHealth>
<bloodTypes>
<bloodType>
<blodtpId>1</blodtpId>
<blodtpName>A</blodtpName>
</bloodType>
<bloodType>
<blodtpId>2</blodtpId>
<blodtpName>B</blodtpName>
</bloodType>
<bloodType>
<blodtpId>3</blodtpId>
<blodtpName>O</blodtpName>
</bloodType>
<bloodType>
<blodtpId>4</blodtpId>
<blodtpName>AB</blodtpName>
</bloodType>
</bloodTypes>
</hhsClientHealths>


主要想结合这两类的方法来生成一个XML,不知各位有没有什么方法可以做.
...全文

相关推荐

评论 4
收藏 已收藏
分享
返回顶部
williamxiao
Java EE 67,535 成员 225,843 内容