今天在读取xml将里面内容拷贝到另一Document的时候出现下列问题:
要将以下return下内容
<?xml version='1.0' encoding='GB18030'?>
<RETURN>
<RetCode>响应码</RetCode>
<RetMsg>响应码说明</RetMsg>
<TrDate>处理日期</TrDate>
<BatNo>批次号</BatNo>
<Stat>处理状态</Stat>
<TrStat>交易状态</TrStat>
<BatStatDes>批次状态说明</BatStatDes>
</RETURN>
拷贝到以下body中
<?xml version="1.0" encoding='GB18030'?>
<TranData>
<Head />
<Body>
<RetCode>响应码</RetCode>
<RetMsg>响应码说明</RetMsg>
<TrDate>处理日期</TrDate>
<BatNo>批次号</BatNo>
<Stat>处理状态</Stat>
<TrStat>交易状态</TrStat>
<BatStatDes>批次状态说明</BatStatDes>
</Body>
</TranData>
用了
Element mOutBodyEle = new Element("Body");
mOutBodyEle.addContent(reDoc.getRootElement());
但是报了如下错误
Exception in thread "main" org.jdom.IllegalAddException: The element "RETURN" could not be added as the root of the document: The Content already has an existing parent document
at org.jdom.ContentList.add(ContentList.java:205)
at org.jdom.ContentList.add(ContentList.java:131)
at java.util.AbstractList.add(AbstractList.java:89)
at org.jdom.Element.addContent(Element.java:811)
at com.guohr.net.CallWebsvcByFinance.batchStatusQuery(CallWebsvcByFinance.java:71)
at com.guohr.net.CallWebsvcByFinance.main(CallWebsvcByFinance.java:131)
后来网上有人说用detach()方法,但是我用了之后拷贝的个数丢失了,后来采用了clone()方法后解决了这个问题,看来人家设计的时候都考虑好了,真的很强大啊
mOutBodyEle.addContent(reDoc.getRootElement().detach());
for (int i = 0; i < reDoc.getRootElement().getContentSize(); i++) {
mOutBodyEle.addContent((Element)(reDoc.getRootElement().getContent(i).clone()));
}
分享到:
相关推荐
jdom1.1.1与jdom2.05最新开发工具包。...import org.jdom.Element; import org.jdom.input.SAXBuilder; jdom2.05使用方法: import org.jdom2.Document; import org.jdom2.Element; import org.jdom2.input.SAXBuilder;
jdom源码+jdom.jar jdom源码+jdom.jar
Jdom教程. .
jdom-1.0 jdom jdom-1.0,jdom解析xml
jdom-1.1.zip jdom-1.1.jar jdom.jar jdom库 jdom操作xml
org.jdom.xpath 包含了对xml文档xpath操作的类三、JDOM 类说明 1、org.JDOM这个包里的类是你J解析xml文件后所要用到的所有数据类型。 Attribute CDATA Coment DocType Document Element EntityRef ...
jdom jdom jdom jdom jdom
赠送jar包:jdom2-2.0.6.jar; 赠送原API文档:jdom2-2.0.6-javadoc.jar; 赠送源代码:jdom2-2.0.6-sources.jar; 赠送Maven依赖信息文件:jdom2-2.0.6.pom; 包含翻译后的API文档:jdom2-2.0.6-javadoc-API文档-...
Introduction to the JDOM project Please see the JDOM web site at http://jdom.org/ and GitHub repository at https://github.com/hunterhacker/jdom/ Quick-Start for JDOM See the github wiki for a Primer ...
JDOM讲解 JDOM讲解 JDOM讲解
jdom源代码,其中包含jdom.jar
org.jdom包含了所有的xml文档要素的java类 org.jdom.adapters包含了与dom适配的java类 org.jdom.filter包含了xml文档的过滤器类 org.jdom.input包含了读取xml文档的类 org.jdom.output包含了写入xml文档的类 org....
压缩包内有jdom-1.1.2和jdom的chm格式的帮助文档,文档的内容来自官网,因而能够保证完整性。
JDOM是一个开源项目,它基于树型结构,利用纯JAVA的技术对XML文档实现解析、生成、序列化以及多种操作。 JDOM 直接为JAVA编程服务。它利用更为强有力的JAVA语言的诸多特性(方法重载、集合概念以及映射),把SAX和...
jdom 下载 jdom 下载jdom 下载 jdom 下载jdom 下载 jdom 下载jdom 下载 jdom 下载jdom 下载 jdom 下载
编写XML时要用到JDOM是需要 包含有jar包,API文档 源代码等
JDOM是一个开源项目,它基于树型结构,利用纯JAVA的技术对XML文档实现解析、生成、序列化以及多种操作。 JDOM 直接为JAVA编程服务。它利用更为强有力的JAVA语言的诸多特性(方法重载、集合概念以及映射),把SAX和...
JDOM v1.0 API Specification jdom api文档
JDOM是一个开源项目,它基于树型结构,利用纯JAVA的技术对XML文档实现解析、生成、序列化以及多种操作。 JDOM 直接为JAVA编程服务。它利用更为强有力的JAVA语言的诸多特性(方法重载、集合概念以及映射),把SAX和...
import org.jdom.Element; import org.jdom.input.SAXBuilder; public class XmlReader { /* * fileName文件的路徑和名稱 * firstChild為xml第一個節點 * */ public Element ReaderXml(String fileName,String ...