java解决xml 及base64转数据流
fjfll 2008-03-21 01:02:09 今天接到一个很有挑战性的任务,调用webservice接口返回如下xml报文,需要解析这个报文并把base64编码转为数据流。
案例说明:
通过系统web页面输入Id号,调用第三方提供的webservice接口返回xml报文反馈信息,xml包含包头和内容两部分,内容从结点<Values>开始算起,其它部分为包头。实际上内容部分可以当成是一个二维数组
即 String[][] Values={{"1","",""},{"name","photo","birthday"},{"bill","base64","1983-02-01"},{"skychen","base64","1981-02-01"}},主要意思是通过Id号查找人员的信息,如果 Values[0][1]为"1"说明查到了相关信息,Values[1][]为字段名,Values[2][]、Values[3][]为数据内容,数据内容可能返回多条,就是说可能还有Values[4][]。
因为是通过调用webservice接口得到的数据,数组结构是不固定的即为动态数组(返回的格式可能是 v[2][6]、v[5][3])。我想可以使用Vector或者ArrayList。但是具体要怎么解析还不太懂。另外还要把base64转换成数据流,显示出照片。
帮助内容:写出如何把这些数据写到Vector或ArrayList里。
希望前辈们指点,谢谢!
XML文件格式如下:
<MSG>
<Id>123</Id>
<Name></Name>
<Channel>
<Items>
<Item>
<Values>
<Row>
<Data>1</Data>
<Data/>
<Data/>
</Row>
<Row>
<Data>name</Data>
<Data>photo</Data>
<Data>birthday</Data>
</Row>
<Row>
<Data>bill</Data>
<Data>base64</Data>
<Data>1983-02-01</Data>
</Row>
<Row>
<Data>skychen</Data>
<Data>base64</Data>
<Data>1981-02-01</Data>
</Row>
</Values>
</Item>
</Items>
</Channel>
</MSG>