新建一个项目mobileAddressQuery,添加测试所需要的配置以及访问网络权限
将person.xml放到src目录下:
<?xml version="1.0" encoding="UTF-8"?>
<persons>
<person id="23">
<name>gaolei</name>
<age>23</age>
</person>
<person id="24">
<name>xiaoqiang</name>
<age>25</age>
</person>
</persons>
XmlTest.java:
package cn.leigo.test;
import java.io.InputStream;
import java.net.HttpURLConnection;
import java.net.URL;
import cn.leigo.utils.StreamTool;
import android.test.AndroidTestCase;
import android.util.Log;
public class XmlTest extends AndroidTestCase {
private static final String TAG = "XmlTest";
public void testSendXML() throws Exception {
InputStream inputStream = this.getClass().getClassLoader()
.getResourceAsStream("person.xml");
byte[] data = StreamTool.read(inputStream);
String path = "http://192.168.1.100:8080/videonews/XmlServlet";
URL url = new URL(path);
HttpURLConnection conn = (HttpURLConnection) url.openConnection();
conn.setConnectTimeout(5000);
conn.setRequestMethod("POST");
conn.setDoOutput(true);
conn.setRequestProperty("Content-Type", "text/html; charset=UTF-8");
conn.setRequestProperty("Content-Length", String.valueOf(data.length));
conn.getOutputStream().write(data);
if (conn.getResponseCode() == HttpURLConnection.HTTP_OK) {
Log.d(TAG, "发送成功!");
} else {
Log.d(TAG, "发送失败!");
}
}
}
StreamTool.java
package cn.leigo.utils;
import java.io.ByteArrayOutputStream;
import java.io.IOException;
import java.io.InputStream;
public class StreamTool {
/**
* 读取流中的数据
*
* @param inputStream
* @return
* @throws IOException
*/
public static byte[] read(InputStream inputStream) throws IOException {
ByteArrayOutputStream baos = new ByteArrayOutputStream();
byte[] buffer = new byte[1024];
int len = 0;
while ((len = inputStream.read(buffer)) != -1) {
baos.write(buffer, 0, len);
}
inputStream.close();
return baos.toByteArray();
}
}
服务器端:
package cn.leigo.servlet;
import java.io.IOException;
import java.io.InputStream;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import cn.leigo.utils.StreamTool;
public class XmlServlet extends HttpServlet {
public void doGet(HttpServletRequest request, HttpServletResponse re