gpt4 book ai didi

java - 使用java发布xml数据

转载 作者:塔克拉玛干 更新时间:2023-11-03 03:19:03 26 4
gpt4 key购买 nike

我使用以下 java 代码将 xml 数据发布到远程 url 并获得响应。在这里,我使用一个 xml 文件作为输入。我需要的是将 xml 作为字符串而不是文件传递......无论如何我可以做到这一点吗?有人能帮我吗?非常感谢!

Java代码

import java.io.File;
import java.io.FileInputStream;
import java.io.IOException;

import org.apache.commons.httpclient.HttpClient;
import org.apache.commons.httpclient.methods.InputStreamRequestEntity;
import org.apache.commons.httpclient.methods.PostMethod;

public class xmlToString {

public static void main(String[] args) {
String strURL = "https://simulator.expediaquickconnect.com/connect/ar";
String strXMLFilename = "xmlfile.xml";
File input = new File(strXMLFilename);
PostMethod post = new PostMethod(strURL);
try {
post.setRequestEntity(new InputStreamRequestEntity(
new FileInputStream(input), input.length()));
post.setRequestHeader("Content-type",
"text/xml; charset=ISO-8859-1");
HttpClient httpclient = new HttpClient();

int result = httpclient.executeMethod(post);
System.out.println("Response status code: " + result);
System.out.println("Response body: ");
System.out.println(post.getResponseBodyAsString());
} catch (IOException e) {
e.printStackTrace();
} finally {
post.releaseConnection();
}
}

}

更新:我需要将 XML 作为字符串传递并删除涉及 xml 文件...

最佳答案

org.apache.commons.httpclient.methods.PostMethod 上的 setRequestEntity 方法有一个接受 StringRequestEntity 的重载版本作为论据。如果您希望将数据作为字符串(而不是输入流)传递,则应该使用它。所以你的代码看起来像这样:

String xml = "whatever.your.xml.is.here";
PostMethod post = new PostMethod(strURL);
try {
StringRequestEntity requestEntity = new StringRequestEntity(xml);
post.setRequestEntity(requestEntity);
....

希望对您有所帮助。

关于java - 使用java发布xml数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6580193/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com