package com.pps.test; import java.io.InputStream; import java.util.List; import javax.xml.parsers.SAXParser; import javax.xml.parsers.SAXParserFactory; import com.pps.model.SubModel; import com.pps.xmlparser.ListXMLContentHandler; /** * 测试解析XML格式数据 * @author jiangqq */ public class Test_Xml { public static void main(String[] args) throws Exception { // File file=new File("d:\\abc.xml"); InputStream inputStream=Test_Xml.class.getResourceAsStream("141.xml"); // byte b[]=new byte[1024]; //创建合适文件大小的数组 // inputStream.read(b); //读取文件中的内容到b[]数组 // inputStream.close(); // System.out.println(new String(b)); List<SubModel> mList=new Test_Xml().readSAXXML(inputStream); for (SubModel subModel : mList) { System.out.println(subModel.toString()); } System.out.println(mList.size()); } /** * 返回解析成功的对象 * @param inputStream * @return */ public List<SubModel> readSAXXML(InputStream inputStream) { try { SAXParserFactory spf = SAXParserFactory.newInstance(); SAXParser parser = spf.newSAXParser(); ListXMLContentHandler handler = new ListXMLContentHandler(); parser.parse(inputStream, handler); inputStream.close(); return handler.getmLists(); } catch (Exception e) { e.printStackTrace(); } return null; } }