1.SAX解析XML
InputStream is = getResources().openRawResource(R.raw.dd);
try {
InputStreamReader isreader = new InputStreamReader(is, "gb2312");
XMLReader reader = SAXParserFactory.newInstance().newSAXParser().getXMLReader();
reader.setContentHandler(new MyHandler());
reader.parse(new InputSource(isreader));
} catch (SAXException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
} catch (ParserConfigurationException e) {
e.printStackTrace();
}
class MyHandler extends DefaultHandler{
@Override
public void startDocument() throws SAXException {
super.startDocument();
Log.d("startDocument", "startDocument");
}
@Override
public void startElement(String uri, String localName, String qName,
Attributes attributes) throws SAXException {
super.startElement(uri, localName, qName, attributes);
Log.d("startElement", qName);
}
@Override
public void endElement(String uri, String localName, String qName)
throws SAXException {
super.endElement(uri, localName, qName);
Log.d("endElement", qName);
}
@Override
public void characters(char[] ch, int start, int length)
throws SAXException {
Log.d("characters",new String(ch));
super.characters(ch, start, length);
}
@Override
public void endDocument() throws SAXException {
Log.d("endDocument", "endDocument");
super.endDocument();
}
}
XmlResourceParser parser = getResources().getLayout(R.xml.dd);
try {
while(parser.getEventType() != XmlResourceParser.END_DOCUMENT){
if(parser.getEventType() == XmlResourceParser.START_TAG){
Log.d("jbcao",parser.getName());
}
try {
parser.next();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
} catch (XmlPullParserException e) {
e.printStackTrace();
}