package zgq.sax;
import javax.xml.parsers.SAXParser;
import javax.xml.parsers.SAXParserFactory;
import org.xml.sax.Attributes;
import org.xml.sax.SAXException;
import org.xml.sax.XMLReader;
import org.xml.sax.helpers.DefaultHandler;
//解析xml文档 不重写全部抽象方法
public class Demo2 {
public static void main(String[] args) throws Exception {
// 1.创建解析工厂
SAXParserFactory factory = SAXParserFactory.newInstance();
// 2.得到解析器
SAXParser sp = factory.newSAXParser();
// 3.得到读取器
XMLReader reader = sp.getXMLReader();
// 4.设置内容处理器
reader.setContentHandler(new TagValueHandler());
// 5.读取xml文档内容
reader.parse("src/book.xml");
}
}
//比较implements ContentHandler方法 ,该方法不用复写全部抽象方法
class TagValueHandler extends DefaultHandler{
public void startElement(String uri, String localName, String qName,
Attributes atts) throws SAXException {
System.out.println("<"+qName+">");
for(int i=0;atts!=null&&i<atts.getLength();i++){
String attName=atts.getQName(i);
String value=atts.getValue(i);
System.out.println(attName+"="+value);
}
}
public void characters(char[] ch, int start, int length)
throws SAXException {
System.out.println(new String(ch,start,length));
}
public void endElement(String uri, String localName, String qName)
throws SAXException {
System.out.println("</"+qName+">");
}
}
java(12)--xml之sax方式解析文档
最新推荐文章于 2024-05-31 09:13:29 发布