Java XmlPullParser到字符串

Java XmlPullParser到字符串,java,android,xml,xmlpullparser,Java,Android,Xml,Xmlpullparser,我从网上得到了一些xml,就像这样 XmlPullParser receivedData = XmlPullParserFactory.newInstance().newPullParser(); receivedData.setInput(xmlUrl.openStream(), null); 我想将receivedData设置为可读字符串,以便检查web上的xml是否与我下载的相同 我尝试了receivedData.toString(),但这只给出了org.kxml2.io。KXmlPar

我从网上得到了一些xml,就像这样

XmlPullParser receivedData = XmlPullParserFactory.newInstance().newPullParser();
receivedData.setInput(xmlUrl.openStream(), null);
我想将
receivedData
设置为可读字符串,以便检查web上的xml是否与我下载的相同

我尝试了
receivedData.toString()
,但这只给出了org.kxml2.io。KXmlParser@27fd33b24

如何获取可读字符串

谢谢

toString()方法正在返回java对象引用,就像java.lang.object的toString方法一样。XmlPullParser类不会覆盖此方法

我不确定XmlPullParser对象是如何工作的,但它似乎是一个面向事件的XML解析器。在节点上使用getText方法解析XML时,可以添加一些日志来显示事件

在实例化XmlPullParser对象之前,也可以拦截服务器的内容;我不知道您从“xmlUrl.openStream()”接收到的InputStream的确切实现是什么,但您可以尝试使用IOUtils类将其字符串化,如下所示:

String theString = IOUtils.toString(inputStream, encoding);

请参见

不幸的是,XmlPullParser没有覆盖toString方法,您在这里看到的是该对象的字符串表示。这意味着它是在mem中创建的。因此,它没有提供此类的详细信息。但是你有两种方法可以从这个课程中获得你可能需要的信息

  • 您可以在ide中创建此实例的第行设置断点,并通过调试器进入该行以获取此类的详细信息

  • 或者你可以去 查看这个类有什么公共get方法,并通过编程输出这些详细信息


  • 什么是IOUtils,我没有把它作为导入?IOUtils是一组实用程序类,它帮助操作流和其他东西。它不是JDK的一部分,您必须将jar添加到项目中才能使用它。如果您使用maven,您可以使用此页面上提供的信息导入此工件:(我撰写此评论时提供的最后一个稳定版本)。在同一个页面上,您还可以找到一个链接,下载jar并将其放入您的项目中,如果您更愿意“手动”管理您的依赖项。