我就直接上代码了

 

try{
String systemId="<?xml version=\"1.0\" encoding=\"utf-8\"?><student><name>张译成</name><age>22	</age><address>湖北省</address></student>";
SAXParserFactory factory=SAXParserFactory.newInstance();
SAXParser parser=factory.newSAXParser();
XMLReader reader=parser.getXMLReader();
reader.setContentHandler(new MyHandler(this));
byte []bb=systemId.getBytes();
ByteArrayInputStream bais=new ByteArrayInputStream(bb);
InputSource in=new InputSource(bais);
reader.parse(in);} catch (Exception e) {
e.printStackTrace();
}

在MyHanlder中的代码是

 

 

package com.zhycheng;
import org.xml.sax.Attributes;
import org.xml.sax.SAXException;
import org.xml.sax.helpers.DefaultHandler;
import android.app.Activity;
import android.widget.Toast;
public class MyHandler extends DefaultHandler{

	String tagname=null;
	Activity s=null;
	
	public MyHandler(Activity d)
	{
		this.s=d;
	}
	@Override
	public void characters(char[] ch, int start, int length)
			throws SAXException {
		// TODO Auto-generated method stub
		if("age".equals(tagname))
		{
			String s=new String(ch,start,length);
			Toast.makeText(this.s, s, Toast.LENGTH_SHORT).show();
		}
		super.characters(ch, start, length);
	}

	@Override
	public void endDocument() throws SAXException {
		// TODO Auto-generated method stub
		super.endDocument();
		tagname=null;
		Toast.makeText(s, "endDocument", Toast.LENGTH_SHORT).show();
		System.out.println("endDocument");
	}

	@Override
	public void endElement(String uri, String localName, String qName)
			throws SAXException {
		// TODO Auto-generated method stub
		super.endElement(uri, localName, qName);
	}

	@Override
	public void startDocument() throws SAXException {
		// TODO Auto-generated method stub
		super.startDocument();
		Toast.makeText(s, "startDocument", Toast.LENGTH_SHORT).show();
		System.out.println("startDocument");
	}

	@Override
	public void startElement(String uri, String localName, String qName,
			Attributes attributes) throws SAXException {
		// TODO Auto-generated method stub
		super.startElement(uri, localName, qName, attributes);
		tagname=localName;
		
		Toast.makeText(s, tagname, Toast.LENGTH_SHORT).show();
		System.out.println(tagname);
	}

}

 

这样就可以解析出来了

另外,如果要解析出标签的属性的话,可以使用下面的代码

 

for (int i = 0; i < attr.getLength(); i++){
System.out.println(attr.getLocalName(i) + "=" + attr.getValue(i));
}