如何通过消费的Web服务Android解析xml数据?

时间:2010-10-04 14:21:09

标签: android xml service xml-parsing

我有一个网络服务.asmx,在消费时会以下列形式给出回复:

<lData>
    <name>...</name>
    <posx>..</posx>
    <posy>...</posy>
</lData>

我使用Ksoap2来使用Android中的网络服务,我将回复视为string

anyType {
    lData = anyType{
        name=....;
        posx=....;
        posy=....
    ;}
;}

所以,我从我的网络服务中获取了正确的数据,但我不知道如何正确解析它。 我想找到一种迭代不同节点的方法。

我尝试使用SAXParser,但似乎无法理解我应该使用的是什么,而不是url。在tutotirals中,我跟随url上的xml文件的链接,但我的url只是部分“完成”,因为我需要首先使用Web服务。

MyXMLHandler myXMLHandler = new MyXMLHandler();
xr.setContentHandler(myXMLHandler);
xr.parse(new InputSource(sourceUrl.openStream()));

这是我应该使用的东西,还有另一个openStream吗?

感谢您的帮助!

1 个答案:

答案 0 :(得分:2)

SAXParser想要​​一个InputStream来解析。我想你是说你要解析一串xml?为此,您需要将String转换为输入流:

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