将XML字符串转换为android中的流

时间:2013-04-26 23:57:07

标签: java android

我目前正在开发一个Android应用程序,它需要将包含XML的流发送到服务器。目前,我在客户端应用程序中有一个xml作为字符串,我想将xml字符串转换为输入流,以便可以将流传递给wcf服务进行处理。有谁知道如何实现这个目标?

这是我在android(java)中编写的用于将xml字符串转换为输入流的代码,但我认为它存在一些问题。有谁知道问题是什么?

String xml = "<Tr rn=\"000000000000000\" vr=\"T\" sSpre=\"S\" reg=\"P\" dSpre=\"2000-01-01\" dOdprt=\"2000-01-01\" iban=\"SI00\" eno=\"R\" vir=\"B\" maticnaPps=\"0000000000\"><Imetnik davcna=\"00000000\" matSub=\"0000000000\" drz=\"705\"><PopolnoIme>UNKNOWN</PopolnoIme><KratkoIme>UNKNOWN</KratkoIme><Naslov sifTipNaslova=\"00\" sifObcina=\"000\" sifPosta=\"0000\" sifUlica=\"0000\" sifNaselje=\"000\" stHisna=\"000\" sifHsmid=\"00000000\"><Obcina>UNKNOWN</Obcina><Posta>UNKNOWN</Posta><Ulica>UNKNOWN</Ulica><Naselje>UNKNOWN</Naselje></Naslov></Imetnik></Tr>";


InputStream is= new ByteArrayInputStream(xml.getBytes("UTF-8"));

提前感谢您的任何帮助。

1 个答案:

答案 0 :(得分:0)

我不确定你的顾虑是什么。但是您的原始字符串如下所示:

<Tr rn=\"000000000000000\" vr=\"T\" ...

带有转义的引号。

当您将其转换为ByteArrayInputStream时,您会得到一个如下所示的字节数组:

0: <
1: T
2: r
3:  
4: r
5: n
6: =
7: "
8: 0
9: 0
...

转义时,转义的引号已经消失。我不确定这是否令你感到不安。

当我从输入流转换回来时,我得到一个结构很好的字符串,但它不包含\"'s