色婷婷狠狠18禁久久YY,CHINESE性内射高清国产,国产女人18毛片水真多1,国产AV在线观看

java dom和sax

傅智翔2年前7瀏覽0評論

Java中XML的處理方式有兩種:DOM和SAX。

import javax.xml.parsers.DocumentBuilder;
import javax.xml.parsers.DocumentBuilderFactory;
import org.w3c.dom.Document;
import org.w3c.dom.Element;
import org.w3c.dom.NodeList;
public class DOMParser {
public static void main(String[] args) {
try {
DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
DocumentBuilder builder = factory.newDocumentBuilder();
Document document = builder.parse("example.xml");
Element root = document.getDocumentElement();
NodeList nodeList = root.getElementsByTagName("element");
for(int i=0; i

DOM是一種將整個XML文檔加載進(jìn)內(nèi)存中的處理方式,通過訪問節(jié)點的方式來訪問XML文檔的內(nèi)容。DOM在處理小型XML文件時速度較快,但會占用大量內(nèi)存。

import javax.xml.parsers.SAXParser;
import javax.xml.parsers.SAXParserFactory;
import org.xml.sax.Attributes;
import org.xml.sax.helpers.DefaultHandler;
public class SAXParser {
public static void main(String[] args) {
try {
SAXParserFactory factory = SAXParserFactory.newInstance();
SAXParser saxParser = factory.newSAXParser();
DefaultHandler handler = new DefaultHandler() {
boolean attribute = false;
public void startElement(String uri, String localName, String qName, Attributes attributes) {
if(qName.equalsIgnoreCase("element")) {
attribute = true;
System.out.println(attributes.getValue("attribute"));
}
}
};
saxParser.parse("example.xml", handler);
} catch(Exception e) {
e.printStackTrace();
}
}
}

SAX是一種邊讀取XML文檔邊處理XML內(nèi)容的方式,不需要將整個XML文檔加載進(jìn)內(nèi)存,適合處理大型XML文件。SAX通過事件驅(qū)動的方式讀取XML文檔,速度相對DOM較慢,但會更節(jié)省內(nèi)存。