SAX (Simple API for XML) 시작하는 것입니다 일반 StAX를 파서 Here 갈 것을 제안 당신을 위해 가능하지 위의 경우 here
찾을 수 있습니다 너 여기있어. DOM을 파서 달리
, 그래서 XML 문서의 메모리 표현을 생성하지 않는 SAX 파서는 더 빠르고 더 적은 메모리를 사용합니다. 대신 SAX 파서는 클라이언트에 XML 문서 구조를 알려주고, 파서에 제공된
org.xml.sax.helpers.DefaultHandler
인스턴스의 메소드를 호출하여 콜백을 호출합니다. 문서/요소의 시작/끝과 같은 이벤트가 생성 될 때
MyHandler
에 당신이 작업을 정의
SAXParser parser = SAXParserFactory.newInstance().newSAXParser();
DefaultHandler handler = new MyHandler();
parser.parse("file.xml", handler);
가 취해야 할 다음은
는 예를 구현입니다.
class MyHandler extends DefaultHandler {
@Override
public void startDocument() throws SAXException {
}
@Override
public void endDocument() throws SAXException {
}
@Override
public void startElement(String uri, String localName, String qName,
Attributes attributes) throws SAXException {
}
@Override
public void endElement(String uri, String localName, String qName)
throws SAXException {
}
// To take specific actions for each chunk of character data (such as
// adding the data to a node or buffer, or printing it to a file).
@Override
public void characters(char ch[], int start, int length)
throws SAXException {
}
}
메모리 데이터베이스를 설정하는 것이 가능합니까? 그렇다면 stax/sax를 통해 xml을 읽고 db 테이블에 데이터를 저장할 수 있습니다. 그런 다음 SQL 쿼리를 사용하여 유효성 검사를 수행 할 수 있습니다. 그리고 H2는 별도의 jvm에서 실행되므로 메모리가 문제가되지 않습니다. – Hirak