
Android
XML<user> <name>John Doe</name> <emAIl>john.doe@example.com</emAIl></user>我们可以使用StringBuilder来构建XML字符串:
JavaStringBuilder XMLBuilder = new StringBuilder();XMLBuilder.append("<user>");XMLBuilder.append("<name>John Doe</name>");XMLBuilder.append("<emAIl>john.doe@example.com</emAIl>");XMLBuilder.append("</user>");String XMLData = XMLBuilder.toString();接下来,我们需要建立HTTP连接并发送XML数据。以下是使用HttpURLConnection发送XML数据的示例代码:JavaURL url = new URL("http://example.com/api");HttpURLConnection conn = (HttpURLConnection) url.openConnection();conn.setRequestMethod("POST");conn.setRequestProperty("Content-Type", "application/XML");conn.setDoOutput(true);OutputStream outputStream = conn.getOutputStream();outputStream.write(XMLData.getBytes());outputStream.flush();outputStream.close();int responseCode = conn.getResponseCode();在上面的代码中,我们首先创建一个URL对象,指定服务器的地址。然后,我们使用HttpURLConnection打开连接,并设置请求方法为POST。接下来,我们设置请求头部的Content-Type为application/XML,表示发送的数据是XML格式。然后,我们打开输出流并将XML数据写入。最后,我们通过getResponseCode()方法获取服务器的响应代码。## HTTP POST方法接收XML接收XML数据也需要建立HTTP连接,并使用POST方法从服务器接收XML数据。首先,我们需要建立HTTP连接并设置请求方法为POST。以下是使用HttpURLConnection接收XML数据的示例代码:JavaURL url = new URL("http://example.com/api");HttpURLConnection conn = (HttpURLConnection) url.openConnection();conn.setRequestMethod("POST");conn.setRequestProperty("Content-Type", "application/XML");conn.setDoInput(true);InputStream inputStream = conn.getInputStream();BufferedReader reader = new BufferedReader(new InputStreamReader(inputStream));StringBuilder responseBuilder = new StringBuilder();String line;while ((line = reader.readLine()) != null) { responseBuilder.append(line);}String XMLResponse = responseBuilder.toString();在上面的代码中,我们首先创建一个URL对象,指定服务器的地址。然后,我们使用HttpURLConnection打开连接,并设置请求方法为POST。接下来,我们设置请求头部的Content-Type为application/XML,表示接收的数据是XML格式。然后,我们打开输入流并读取服务器返回的XML数据。最后,我们通过StringBuilder将读取的数据转换为字符串。## 实际案例假设我们要向服务器注册用户,并获取服务器返回的注册结果。以下是一个完整的示例代码:Java// 发送XML数据StringBuilder XMLBuilder = new StringBuilder();XMLBuilder.append("<user>");XMLBuilder.append("<name>John Doe</name>");XMLBuilder.append("<emAIl>john.doe@example.com</emAIl>");XMLBuilder.append("</user>");String XMLData = XMLBuilder.toString();URL url = new URL("http://example.com/api/register");HttpURLConnection conn = (HttpURLConnection) url.openConnection();conn.setRequestMethod("POST");conn.setRequestProperty("Content-Type", "application/XML");conn.setDoOutput(true);OutputStream outputStream = conn.getOutputStream();outputStream.write(XMLData.getBytes());outputStream.flush();outputStream.close();int responseCode = conn.getResponseCode();// 接收XML数据if (responseCode == HttpURLConnection.HTTP_OK) { InputStream inputStream = conn.getInputStream(); BufferedReader reader = new BufferedReader(new InputStreamReader(inputStream)); StringBuilder responseBuilder = new StringBuilder(); String line; while ((line = reader.readLine()) != null) { responseBuilder.append(line); } String XMLResponse = responseBuilder.toString(); // 解析XML数据 // TODO: 根据服务器返回的XML数据进行解析和处理}在上面的代码中,我们首先创建一个包含用户信息的XML字符串。然后,我们使用HttpURLConnection发送XML数据到服务器,并获取服务器的响应代码。如果响应代码为HTTP_OK,表示请求成功,我们接着从输入流中读取服务器返回的XML数据。最后,我们可以根据服务器返回的XML数据进行解析和处理。通过HTTP POST方法发送和接收XML是Android开发中常见的数据交互方式。我们可以使用HttpURLConnection或HttpClient来建立HTTP连接,并通过POST方法发送和接收XML数据。在发送XML数据时,需要将XML数据构建为字符串,并设置请求头部的Content-Type为application/XML。在接收XML数据时,需要从输入流中读取服务器返回的XML数据,并将其转换为字符串。最后,我们可以根据服务器返回的XML数据进行解析和处理。Copyright © 2025 IZhiDa.com All Rights Reserved.
知答 版权所有 粤ICP备2023042255号