Sax方式

1.
SAXReader reader=new SAXReader();
 
 Document document=reader.read("src/book.xml");
 
 Element root=document.getRootElement();
 List<Element> elements=root.elements();
 
 Element firstBook=elements.get(1);
 Element bookname=firstBook.element("书名");
 bookname.setName("233333");
 
 Writer writer=new OutputStreamWriter(new FileOutputStream("src/book.xml"),"utf-8");
 document.write(writer);
 writer.close();
 System.out.println("modify ok!");
2.
private static void mydel() throws Exception{
 SAXReader reader=new SAXReader();
 Document document=reader.read("src/book.xml");
 
 Element root=document.getRootElement();
 
 Element firstBook=root.element("书");
 Element delEle=firstBook.element("出版时间");
 firstBook.remove(delEle);
 
 Writer writer=new OutputStreamWriter(new FileOutputStream("src/book.xml"),"utf-8");
 document.write(writer);
 writer.close();
}

3.
public class MySAX {
 public static void main(String[] args) throws Exception, Exception {
    //01.创建一个解析器工厂
  SAXParserFactory factory= SAXParserFactory.newInstance();
    //02.用工厂创建出一个确切解析器
  SAXParser parser = factory.newSAXParser();
  //03.解析硬盘上一个文件
  MyHandler handler=new MyHandler();
  parser.parse("src/book.xml",handler);
 }
}
class MyHandler extends DefaultHandler{
 @Override
 public void startDocument() throws SAXException {
  //System.out.println("startDocument------");
 }

 @Override
 public void startElement(String uri, String localName, String qName,
   Attributes attributes) throws SAXException {
  //System.out.println("startElement------");
  for (int i = 0; i <attributes.getLength(); i++) {
   System.out.println(attributes.getValue(i));
  }
 }
 @Override
 public void endElement(String uri, String localName, String qName)
   throws SAXException {
  //System.out.println("endElement------");
 }
 @Override
 public void characters(char[] ch, int start, int length)
   throws SAXException {
  String str=new String(ch,start,length);
  System.out.print(str);
  
 }
 @Override
 public void endDocument() throws SAXException {
  //System.out.println("endDocument------");
 }
 
}

猜你喜欢

转载自blog.csdn.net/qq_39799629/article/details/79592283
Sax