我是Android Dev(和一般编码)的新手.基本上我需要使用httpURLConnection将XML数据发布到URL,但无法使其工作.我已经让我的应用程序读取并从GET请求中篡改XML数据,但很难找到POST部分.
我已经看过创建一个nameValuePair数组,但不知道如何使用我需要发布的XML结构来完成此 *** 作.
XML数据将如下所示:
<Sheet> <Job>jobNumber</Job> <Task>taskNumber</Task> <UserID>3</UserID> <Date>systemDateFormatted</Date> <Minutes>timetoLog</Minutes> <Note>userNote</Note></Sheet>
到目前为止,我已经为我的代码了.
try { URL url = new URL(theUrl); httpURLConnection conn = (httpURLConnection) url.openConnection(); conn.setReadTimeout(10000); conn.setConnectTimeout(15000); conn.setRequestMethod("POST"); conn.setDoinput(true); conn.setDoOutput(true); List<nameValuePair> params = new ArrayList<nameValuePair>(); params.add(new BasicnameValuePair("Sheet",null)); params.add(new BasicnameValuePair("Job",jobNumber)); params.add(new BasicnameValuePair("Task",taskNumber)); params.add(new BasicnameValuePair("UserID",String.valueOf(yourUserID))); params.add(new BasicnameValuePair("Date",systemDateFormatted)); params.add(new BasicnameValuePair("Minutes",timeElapsed)); params.add(new BasicnameValuePair("UserNote","Test Note")); params.add(new BasicnameValuePair("Sheet",null));
我不确定我是否正确理解了namedValuePair.为我的XML数据创建一个字符串并以这种方式POST更好吗?
谢谢!
解决方法 是的,POST数据作为您请求的有效负载.例如URL url = new URL(theUrl);httpURLConnection conn = (httpURLConnection) url.openConnection();try { conn.setReadTimeout(10000); conn.setConnectTimeout(15000); conn.setRequestMethod("POST"); conn.setDoinput(true); conn.setDoOutput(true); String body = "<xml...</xml>"; OutputStream output = new bufferedoutputstream(conn.getoutputStream()); output.write(body.getBytes()); output.flush();finally { conn.disconnect();}总结
以上是内存溢出为你收集整理的Android – 使用HttpURLConnection发布XML数据全部内容,希望文章能够帮你解决Android – 使用HttpURLConnection发布XML数据所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)