XML解析的两种方式区别
1.DOM解析:
需要xml完全加载进内存才可以操作
可以方便进行增删改查操作,耗费内存
2.SAX解析
逐渐扫描xml文件,当遇到标签时触发解析处理器,不需要加载进内存
只能读取,无法进行增删改查
DOM解析
具体解析步骤如下:
DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance();//获得解析工厂
DocumentBuilder db = dbf.newDocumentBuilder(); //获得建造者对象
File file = new File("xxx.xml");//获得XML文件
Document doc = db.parse(file);//获得文档对象
NodeList nl = doc.getElementsByTagName("xxx");//根据标签获得节点列表
Element element = (Element)nl.item(x);//获得特定位置的根节点元素
节点对象
Node node = element.getElementsByTagName("xxx").item(0);//获得子节点
String msg = node.getFirstChild().getNodeValue();//获取子节点里面的第一个标签里面的值
XML解析方式:
SAXParserFactory spf = SAXParserFactory.newInstance();//获取解析器工厂
SAXParser parser = spf.newSAXParser();获取解析器对象
File file = new File("xxx.xml");//声明xml文档
parser.parse(file, new SAXHandler());//SAXHandler继承自DefaultHandler事件类,用来处理数据
转载自:https://blog.csdn.net/zero_zhy/article/details/78189964