//测试单元
//Test.java
public class Test {
public Test() {
// TODO Auto-generated constructor stub
}
public static void main(String[] args) {
// TODO Auto-generated method stub
String path="http://localhost:8080/myhttp/persion.xml";
InputStream inputStream =HttpUtils.getXML(path);
try
{
List<HashMap<String, String>> list=SaxService.readXML(inputStream, "person");
for(HashMap<String, String> map:list)
{
System.out.println(map.toString());
}
}
catch (Exception e)
{
// TODO: handle exception
}
}
}
//httpUtil.java
public class HttpUtils {
public HttpUtils() {
// TODO Auto-generated constructor stub
}
public static InputStream getXML(String path)
{
InputStream inputStream =null;
try
{
URL url =new URL(path);
if(url!=null)
{
HttpURLConnection connection =(HttpURLConnection) url.openConnection();
connection.setConnectTimeout(3000);
connection.setDoInput(true);
connection.setRequestMethod("GET");
int code =connection.getResponseCode();
if(code==200)
{
inputStream=connection.getInputStream();
}
}
}
catch (Exception e)
{
// TODO: handle exception
}
return inputStream;
}
}
//SaxService .java
public class SaxService {
public SaxService() {
// TODO Auto-generated constructor stub
}
public static List<HashMap<String, String>> readXML(InputStream inputStream,String nodeName)
{
try
{
//创建一个解析xml的工厂对象
SAXParserFactory spf= SAXParserFactory.newInstance();
SAXParser parser= spf.newSAXParser();//解析xml
MyHandler handler =new MyHandler(nodeName);
parser.parse(inputStream, handler);
inputStream.close();
return handler.getList();
}
catch (Exception e)
{
// TODO: handle exception
}
return null;
}
}