這裏是一個工作示例開始,但我建議你使用StAX的相反,你會看到,SAX是不是很方便
import java.io.File;
import javax.xml.parsers.SAXParser;
import javax.xml.parsers.SAXParserFactory;
import org.xml.sax.Attributes;
import org.xml.sax.SAXException;
import org.xml.sax.helpers.DefaultHandler;
public class SAX2 {
public static void main(String[] args) throws Exception {
SAXParser parser = SAXParserFactory.newInstance().newSAXParser();
parser.parse(new File("test.xml"), new DefaultHandler() {
@Override
public void startElement(String uri, String localName,
String qName, Attributes atts) throws SAXException {
if (qName.equals("passenger")) {
System.out.println("id = " + atts.getValue(0));
}
}
@Override
public void endElement(String uri, String localName, String qName)
throws SAXException {
}
@Override
public void characters(char[] ch, int start, int length)
throws SAXException {
String text = new String(ch, start, length);
if (!text.trim().isEmpty()) {
System.out.println("name " + text);
}
}
});
}
}
輸出
id = 001
name Tom Cruise
id = 002
name Tom Hanks
嘗試使用'javax.xml.parsers.DocumentBuilder'和'org.w3c.dom.Document'類,然後在遇到一些問題時共享代碼。 –
那麼,這是我試過的,我沒有得到一個答案,導致我在正確的方向 - http://stackoverflow.com/questions/13798038/error-in-output-of-a-simple-sax-parser –
試圖通過逆向工程學習。 –