2009-08-28 4 views
1

HTML 파일과 비슷한 파일을 구문 분석하고 싶습니다. HTML 파일이 아닙니다. 일부 사용자 정의 태그를 포함 할 수 있습니다. 사전에 태그가 서로 중첩되어있는 방법을 미리 알지 못합니다. 태그에 속성이있을 수도 있습니다. SAX 파서를 사용한다고 생각합니다. 자바에는 SAX가 내장되어 있습니까? 각 태그를 만날 때 함수를 호출 할 수 있습니까?SAX 방식을 사용하여 Java에서 xml 문서를 구문 분석하는 방법

답변

2

대신 SAX보다 더 빠르고 사용하기 쉬운 StAX을 사용해야한다고 생각합니다. Java SE 6의 일부입니다.

+0

의 메소드를 구현합니다. SAX의 startElement()는 기본적으로 특성 맵을 전달합니다. StAX에서이 정보를 추출하려면 좀 더 복잡한 코드를 작성해야합니다. – cletus

+0

한편, StAX를 사용하면 호출 스택이 요소 스택과 일치하는 간단한 재귀 파생 파서로 XML 문서를 구문 분석 할 수 있습니다. SAX를 사용하면 스테이트 머신을 작성해야하는데 더 많은 상용구가 필요하며 StAX 커서의 속성을 맵으로 읽어들이는 util 메소드보다 훨씬 어렵다고 생각합니다. – gustafc

4

java.io, javax.xml.parsers, org.xml.sax, 패키지를 사용하십시오.

SAXParserFactory spf = SAXParserFactory.newInstance(); 
XMLReader reader = null; 

    SAXParser parser = spf.newSAXParser(); 
    reader = parser.getXMLReader(); 

reader.setContentHandler(new MyContentHandler()); 

//XMLReader to parse the entire file. 

    InputSource is = new InputSource(filename); 
    reader.parse(is); 

// 내가 그것을 쉽게 사용할 수있는 동의의 ContentHandler

class MyContentHandler implements ContentHandler { 
} 
관련 문제