我就直接上代码了
- <span style="font-size:18px;">try{
- String systemId="<?xml version=\"1.0\" encoding=\"utf-8\"?><student><name>张译成</name><age>22<span style="white-space:pre"> </span></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();
- }</span>
- <span style="font-size:18px;">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);
- }
- }</span>
这样就可以解析出来了
另外,如果要解析出标签的属性的话,可以使用下面的代码
- for (int i = 0; i < attr.getLength(); i++){
- System.out.println(attr.getLocalName(i) + "=" + attr.getValue(i));
- }