我有一个Android应用程序,我使用POST方法来获取响应。这是我的代码:
..........................................
HttpResponse httpResponse = httpclient.execute(httppost);
HttpEntity resEntity = httpResponse.getEntity();
这工作正常,我得到xml格式的响应,但我想解析该xml文件并获取节点值。我试过这个:
DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance();
DocumentBuilder db = dbf.newDocumentBuilder();
Document doc = db.parse(new InputSource());
doc.getDocumentElement().normalize();
但我不知道应该给new InputSource()
什么,因为我必须使用XML类型HTTPResponse而不是网址。
谢谢!!!
答案 0 :(得分:1)
好的,谢谢大家的回复。我刚刚找到了解决问题的方法。 http://www.rgagnon.com/javadetails/java-0573.html
答案 1 :(得分:1)
尝试
InputStream is = resEntity .getContent()
Document doc = db.parse(is);
答案 2 :(得分:0)
您可以使用任何XML解析器(如SAX)来解析您的XML数据
答案 3 :(得分:0)
如果你的xml字符串格式的回复是
DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance();
DocumentBuilder db = dbf.newDocumentBuilder();
InputSource is=new InputSource();
is.setCharacterStream(new StringReader(xmlString(ur response)))
Document doc = db.parse(is);
答案 4 :(得分:0)
getsyncFlag(String feedData) {
SAXParserFactory spf = SAXParserFactory.newInstance();
SAXParser sp = spf.newSAXParser();
XMLReader xr = sp.getXMLReader();
xr.setContentHandler(this);
InputSource is=new InputSource();
is.setCharacterStream(new StringReader((feedData)));
xr.parse(is);
}