我正在尝试使用httpclient发布xml请求,如下所示:
String parm1 = MyXml.toString();
PostMethod post = new Postmethod(url);
post.setRequestEntity(new StringRequestEntity(parm1));
...
我在程序中有一个对象,我想将其转换为xml表示。
我的问题是在java中以xml格式创建Myxml的最佳方法是什么,然后我可以稍后打印出它的String格式。
感谢。
答案 0 :(得分:0)
尝试以这种方式使用它......
public void postData() throws Exception {
HttpClient client = new DefaultHttpClient();
HttpPost httppost = new HttpPost("https://www.xyz.com");
List<NameValuePair> list = new ArrayList<NameValuePair>(1);
list.add(new BasicNameValuePair("name","ABC");
httppost.setEntity(new UrlEncodedFormEntity(list));
HttpResponse r = client.execute(httppost);
}
答案 1 :(得分:0)
在Java中创建XML有很多选择。这个答案How to serialize and de-serialize objects using JAXB?提供了一个似乎适合您的用例的一种常见方式的良好演示。
答案 2 :(得分:0)
以下是使用 Apache HttpClient发布xml请求的方法。
使用Castor将响应流(respReader)转换为java对象
final String request = createXmlRequest(); // helper method to create the xml request
final HttpClient client = new HttpClient();
final PostMethod post = new PostMehod(url); // url - www.google.cm/someoperaion
post.setRequestHeader("Content-Language", "en-US");
post.setRequestEntity(new StringRequestEntity(request, "text/xml", "ISO-8859-1"));
final int returnCode = client.executeMethod(post);
final BufferedReader respReader = new BufferedReader(new InputStreamReader(post.getResponseBodyAsStream()));