冰与火之歌 乔治马丁 2014 89 安徒生童话 2004 77 English
handler.java类
package xmltes;import javax.xml.stream.events.Characters;import javax.xml.stream.events.StartElement;import org.xml.sax.Attributes;import org.xml.sax.SAXException;import org.xml.sax.helpers.DefaultHandler;public class handler extends DefaultHandler{ private static int bookNum = 0; //遍历xml文件的开始标签 @Override public void startElement(String uri, String localName, String qName, Attributes attributes) throws SAXException { // 调用DefaultHandler父类的startElement方法 super.startElement(uri, localName, qName, attributes); //判断是不是有属性的标签/如book if(qName.equals("book")){ bookNum++; System.out.println("====================开始遍历第"+bookNum+"书的内容================"); //开始解析book元素 //已知book元素下属性的名称,可以根据名称判断 //如果不知道数的属性名称 int num = attributes.getLength(); for(int i=0;iTest类
package xmltes;import java.io.IOException;import javax.xml.parsers.ParserConfigurationException;import javax.xml.parsers.SAXParser;import javax.xml.parsers.SAXParserFactory;import org.xml.sax.SAXException;public class SAXTest { public static void main(String[] args) { try { //获取一个SAXParserFactory的实例 SAXParserFactory factory = SAXParserFactory.newInstance(); //通过factory获取SAXParser实例 SAXParser parser = factory.newSAXParser(); //创建一个SAXParserHandler对象 handler handler = new handler(); parser.parse("001.xml", handler); } catch (ParserConfigurationException e) { // TODO Auto-generated catch block e.printStackTrace(); } catch (SAXException e) { // TODO Auto-generated catch block e.printStackTrace(); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } }}以上就是XML文件使用SAX方法读取的示例代码的详细内容,更多请关注考高分网其它相关文章!



