sax解析小案例

sax解析是通過事件處理。

案例如下所示:

public class SaxExercise {



public static void main(String[] args) throws Throwable, SAXException {

//1.通過newinstance獲得一個工廠

SAXParserFactory factory = SAXParserFactory.newInstance();

//2.通過一個工廠獲得一個解釋器

SAXParser saxParser = factory.newSAXParser();

//3.解析文檔

//parse(需要解析的文檔,一個繼承defaulthandle的子類對象)

saxParser.parse("person.xml", new MydefaultHandle());

}


穿件的defaultHandle的子類對象的五個方法如下所示:

package itcast.cn;


import org.xml.sax.Attributes;

import org.xml.sax.SAXException;

import org.xml.sax.helpers.DefaultHandler;


public class MydefaultHandle extends DefaultHandler {

   @Override

public void startDocument() throws SAXException {

// 文檔開始通知

super.startDocument();

}

  @Override

public void endDocument() throws SAXException {

// 文檔借宿

super.endDocument();

}

  @Override

public void startElement(String uri, String localName, String qName,

Attributes attributes) throws SAXException {

// 元素開始

  //qname是標籤的名字

super.startElement(uri, localName, qName, attributes);

if (qName.equals("name")||qName.equals("age")) {

System.out.print(qName+"=");

}else {

System.out.println(qName);

}

}

  @Override

public void endElement(String uri, String localName, String qName)

throws SAXException {

//元素結束

super.endElement(uri, localName, qName);

}

  @Override

public void characters(char[] ch, int start, int length)

throws SAXException {

// 處理文檔

super.characters(ch, start, length);

//下面是將一個字符串數組轉換爲一個字符串的方法

String content = new String(ch, start, length).trim();

if (content.length()>0) {

System.out.println(content);

}

}

}


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章