0

我正在尝试使用 httpclient 发布 xml 请求,如下所示:

String parm1 = MyXml.toString();
PostMethod post = new Postmethod(url);
post.setRequestEntity(new StringRequestEntity(parm1));
...

我在程序中有一个对象,我想将其转换为 xml 表示形式。

我的问题是,在 java 中以 xml 格式创建 Myxml 的最佳方法是什么,然后我可以稍后简单地打印出它的 String 格式。

谢谢。

4

3 回答 3

1

这是使用Apache HttpClient 发布 xml 请求的方法。

  • 使用 apache Velocity 创建请求 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()));
    
于 2012-10-11T20:16:27.983 回答
0

在 Java 中创建 XML 有很多选择。这个答案如何使用 JAXB 序列化和反序列化对象?提供了一种似乎适合您的用例的常用方法的良好演示。

于 2012-07-09T19:51:21.040 回答
-2

尝试以这种方式使用它...

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);

}
于 2012-07-09T19:06:02.207 回答