日记文件内容如图片(属性标签不固定的):
/类:用于实例化例化一个SAX解析器的工厂对象:SAXParserFactory
public class SaxService {
public SaxService() {
// TODO Auto-generated constructor stub
}
//方法:解析xml数据并返回,返回值类型是HashMap
public static List<HashMap<String, String>> readXML(InputStream inputStream,String nodeName)
{
try {
//实例化SAX工厂类
SAXParserFactory factory=SAXParserFactory.newInstance();
//实例化SAX解析器。
SAXParser sParser=factory.newSAXParser();
//实例化工具类MyHandler,设置需要解析的节点
MyHandler myHandler = new MyHandler(nodeName);
// 开始解析
sParser.parse(inputStream, myHandler);
// 解析完成之后,关闭流
inputStream.close();
//返回解析结果。
return myHandler.getList(); //在这里返回解析之后的数据
} catch (Exception e) {
// TODO: handle exception
}
return null;
}
可以用这个工具类,只要抓头就可以,不用管尾
正则表达式读文件,过滤分析,然后再单独处理,应该会比较好,可是怎么匹配xml的头和尾?还有json的头和尾?这个比较麻烦。