2012-07-25 64 views
1

我使用httpclient在java中发布xml。我也期待一个XML的回应。 如何解析xml的响应?在java中的httppost后处理响应

这是我迄今为止

HttpClient cliet = HttpClientFactory.getClient("mhurl.com"); 
... 
PostMethod post; 
post.setRquestEntity(new StringRequestEntity(myxml_in_string,"xml",...); 
... 
int result = client.executeMethod(post); 
InputStream in = post.getRespoinseBodyAsStream(); 
?? //Not sure how to handle the response from here 

感谢。

回答

1

标准Java DOM API:

DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance(); 
DocumentBuilder db = dbf.newDocumentBuilder(); 
Document doc = db.parse(in); 

最后一行是至关重要的。

SAX API

SAXParserFactory factory = SAXParserFactory.newInstance(); 
SAXParser saxParser = factory.newSAXParser(); 
saxParser.parse(in, yourCustomCallback); 

JAXB

假设你有合适的模型:

JAXBContext context = JAXBContext.newInstance(Response.class); 
Response response = (Response)context.createUnmarshaller().unmarshal(in); 
+0

哦好吧,我想我会留在标准DOM。谢谢你的帮助。 – Tony 2012-07-25 19:14:09