ITPUB??ì3
ITPUB论坛 » Java入门与认证版 » 有关JAVA生成XML并通过流传输问题的困惑

新一届的微软MVP评选已经开始,欢迎各位推荐!

标题: [原创] 有关JAVA生成XML并通过流传输问题的困惑
离线 IceWee
Junior SE


来自 North East
精华贴数 0
个人空间 0
技术积分 121 (14297)
社区积分 1 (45401)
注册日期 2008-1-18
论坛徽章:0
      
      

发表于 2008-6-26 08:45 
有关JAVA生成XML并通过流传输问题的困惑

昨天晚上朋友向我咨询了该题目,由于我也是个新人,并无实际经验,也不知道无法解决,所以来论坛求助有经验的前辈们指点迷津!万分感谢!

客户要求:
用JAVA语言将一个对象封装成XML文档的格式,也就是写入文件中打开一看是XML文档的格式,但这并没结束,还要求把这个XML文档转换成String字符串,因为要用到流传输到另一方接受,再将此字符串转换回XML对象,再转换成JAVA对象。

问题:
1.用哪个API将JAVA对象生成XML对象?
2.如何将内存中的这个XML对象再转成String字符串?(或省略这个步骤,进入3)
3.用什么方法来获取内存中的这个XML对象或2中的String字符串并以流的方式传送出去!也就是通过IO里的哪个流能获取内存中的数据?以前学流的时候都是从控制台输入,或者从文件中获取,这次是从内存中获取,是在不知道怎么写!

至于另一端就不成问题了,纯粹是个逆向过程,获取流转成XML再封装成对象。

在这里请求有过经验或有想法的朋友帮忙!感谢各位了先!


只看该作者    顶部
在线/呼叫 justforregister
SAP


精华贴数 1
个人空间 10
技术积分 40866 (18)
社区积分 11295 (137)
注册日期 2005-6-10
论坛徽章:82
现任管理团队成员开发板块每日发贴之星开发板块每日发贴之星开发板块每日发贴之星生肖徽章2007版:猪开发板块每日发贴之星
开发板块每日发贴之星开发板块每日发贴之星    

发表于 2008-6-26 11:50 
要学会用google


__________________
I like working day

BS BS某些人 的人
只看该作者    顶部
在线/呼叫 justforregister
SAP


精华贴数 1
个人空间 10
技术积分 40866 (18)
社区积分 11295 (137)
注册日期 2005-6-10
论坛徽章:82
现任管理团队成员开发板块每日发贴之星开发板块每日发贴之星开发板块每日发贴之星生肖徽章2007版:猪开发板块每日发贴之星
开发板块每日发贴之星开发板块每日发贴之星    

发表于 2008-6-26 11:51 

__________________
I like working day

BS BS某些人 的人
只看该作者    顶部
在线/呼叫 justforregister
SAP


精华贴数 1
个人空间 10
技术积分 40866 (18)
社区积分 11295 (137)
注册日期 2005-6-10
论坛徽章:82
现任管理团队成员开发板块每日发贴之星开发板块每日发贴之星开发板块每日发贴之星生肖徽章2007版:猪开发板块每日发贴之星
开发板块每日发贴之星开发板块每日发贴之星    

发表于 2008-6-26 11:51 
上面只是其中一个, 有很多开源组件可以做到


__________________
I like working day

BS BS某些人 的人
只看该作者    顶部
离线 IceWee
Junior SE


来自 North East
精华贴数 0
个人空间 0
技术积分 121 (14297)
社区积分 1 (45401)
注册日期 2008-1-18
论坛徽章:0
      
      

发表于 2008-6-26 14:05 
感谢! 问题已经解决!

package com.xjgc.java;

import java.io.ByteArrayOutputStream;

import org.jdom.Document;
import org.jdom.Element;
import org.jdom.output.XMLOutputter;


public class MyXmlTest {

        public static void main(String[] args) {
                MyXmlTest test=new MyXmlTest();
                System.out.println(test.createStringFromXmlDoc());

        }
       
       
        public String createStringFromXmlDoc(){
                Element root = new Element("MessageQueueCommand");
                Document doc = new Document(root);
                Element injectionReq = new Element("InjectionRequestCommand");

        injectionReq.addContent(new Element("MessageId").setText("messageID-1"));
        injectionReq.addContent(new Element("Msisdn").setText("1310000111"));
        injectionReq.addContent(new Element("SourceTransactionId").setText("messageID-1"));
        injectionReq.addContent(new Element("TelcoId").setText("1"));
        injectionReq.addContent(new Element("TransmitterName").setText("TransmitterName-1"));
        injectionReq.addContent(new Element("Amount").setText("100"));
        
        root.addContent(injectionReq);
               
        ByteArrayOutputStream  byteRep  =  new  ByteArrayOutputStream();  
        XMLOutputter  docWriter  =  new  XMLOutputter("   ",  true,  "GBK");  
//        XMLOutputter  docWriter2=new XMLOutputter();
        try  {  
            docWriter.output(doc,  byteRep);  
        }  
        catch  (Exception  e)  {  
            e.printStackTrace();  
        }                
        String strFromXml=byteRep.toString();        
        return strFromXml;
        }

}












输出:
<?xml version="1.0" encoding="GBK"?>
<MessageQueueCommand>
   <InjectionRequestCommand>
      <MessageId>messageID-1</MessageId>
      <Msisdn>1310000111</Msisdn>
      <SourceTransactionId>messageID-1</SourceTransactionId>
      <TelcoId>1</TelcoId>
      <TransmitterName>TransmitterName-1</TransmitterName>
      <Amount>100</Amount>
   </InjectionRequestCommand>
</MessageQueueCommand>


只看该作者    顶部
在线/呼叫 justforregister
SAP


精华贴数 1
个人空间 10
技术积分 40866 (18)
社区积分 11295 (137)
注册日期 2005-6-10
论坛徽章:82
现任管理团队成员开发板块每日发贴之星开发板块每日发贴之星开发板块每日发贴之星生肖徽章2007版:猪开发板块每日发贴之星
开发板块每日发贴之星开发板块每日发贴之星    

发表于 2008-6-26 15:42 
晕, 您这是object 到xml吗?


__________________
I like working day

BS BS某些人 的人
只看该作者    顶部
离线 bhan2008
水龙吟



来自 广东 深圳
精华贴数 0
个人空间 0
技术积分 212 (8981)
社区积分 3 (21279)
注册日期 2005-10-14
论坛徽章:4
生肖徽章2007版:鼠生肖徽章2007版:虎生肖徽章2007版:兔开发板块每日发贴之星  
      

发表于 2008-6-26 15:46 
流程: VO -> XML格式字串 -> VO;
技术: JAVA XML 操作; JAVA 反射。


只看该作者    顶部
离线 john3000


来自 广州
精华贴数 4
个人空间 0
技术积分 7883 (160)
社区积分 1482 (736)
注册日期 2006-9-5
论坛徽章:29
蓝锆石九尾狐狸紫蜘蛛玉石琵琶铁扇公主嫦娥
红孩儿玉兔授权会员生肖徽章2007版:龙生肖徽章2007版:龙2008北京奥运纪念徽章:艺术体操

发表于 2008-6-26 22:56 



__________________
XML学习中
只看该作者    顶部
 
    

相关内容


CopyRight 1999-2006 itpub.net All Right Reserved.
北京皓辰广域网络信息技术有限公司. 版权所有
E-mail:Webmaster@itpub.net
京ICP证:010037号 联系我们 法律顾问