JDom如何嵌入第三方接口传入的XML数据
来源:互联网 发布:windows性能计数器缓存 编辑:程序博客网 时间:2024/05/18 11:29
我们在工作中会经常遇到这样的接口需求,我们本身组装了一个org.jdom.Document对象,然后把第三方接口传过来的XML数据嵌入到当前Document对象中,由于第三方接口受到不同的平台不同架构的限制,第三方接口返回的数据往往不会是Document对象或者Element对象,而更常见的是整个XML数据,这时我们就需要手动解析XML数据并嵌入到挡墙Document对象中,下面就JDom中嵌入传入的XML数据给出一个简单的例子:
//我方的XML数据
Document doc = new Document(File);
Element root = new Element("root");
doc.setRootElement(root);
//第三方返回的XML数据
String xml = getThirdInterfaceXML();
StringReader sr = new StringReader(xml);
Document thirdDoc= builder.build(sr);
Element thirdRoot= thirdDoc.getRootElement();
//由于root中的parent不为空,上层节点invoke addContent时如果被添加的element中的parent不为空,则抛出异常addNode失败,所 以此时应该清空parent
Parent p = thirdRoot.getParent();
p.removeContent(thirdRoot);
必须编写以上两行代码,否则由于thirdDoc和thirdRoot之间存在父子关系,而我们调用addContent代码时,JDOM会判断parent如果不为空,则直接抛出异常org.jdom.IllegalAddException: The element "*******" could not be added as the root of the document: The Content already has an existing parent document
最后调用代码
root.addContent(thirdRoot);
调用成功,验证通过
- JDom如何嵌入第三方接口传入的XML数据
- Jdom嵌入第三方XML数据的一个问题
- MyBatis第三种方式,xml和接口的结合,以及如何获得插入数据的返回参数、传入空的参数
- 如何安全地嵌入第三方js
- 请求第三方接口返回json格式数据的解析
- 百度三维地图数据采用嵌入第三方数据?
- 【第三方支付通道】第三方支付接口如何对接?
- Swift 如何嵌入OC文件以及Cocoapods管理的swift项目导入OC第三方库
- 调用第三方的接口
- 分享第三方免费API接口数据
- 分享第三方免费API接口数据
- Jdom 解析XML数据
- Qt 嵌入第三方程序
- SWT程序中嵌入第三方程序的窗口
- SWT程序中嵌入第三方程序的窗口
- 浅谈android嵌入第三方sdk的二次封装原则
- XML编程接口的比较:DOM SAX JDOM JAXP
- XML编程接口的比较:DOM SAX JDOM JAXP
- 牵手ARM,AMD唱响未来“芯”篇章
- Transaction Historical Summary(Quantity,Value,Balance)
- Makefile 中四种变量赋值方式的区别
- 随滚度条移动的浮动层(类似京东,淘宝商品介绍栏)
- android Service和IntentService
- JDom如何嵌入第三方接口传入的XML数据
- aes 使用
- 动态创建级联菜单
- 大整数相乘(未突破计算机位数限制)的int版本
- C#判断字符是字母、数字、标点。。。。。
- Linux TCP/UDP编程
- img上面的div在IE不能点击的问题
- jquery 读取CKEditor html
- Windows 程序的生与死----FROM 侯俊杰