//MainActivity.java
//创建SAXParserFactory
SAXParserFactory factory = SAXParserFactory.newInstance();
XMLReader reader = factory.newSAXParser().getXMLReader();
//为xmlReader设置内容处理器
reader.setContentHandler(new MyContent());
//开始解析文件
reader.parse(new InputSource(new StringReader(XMLFile.xml)));
//MyContent.java
//读取根
public void startDocument() throws SAXException {
System.out.println("======begin=========");
}
//开始读取元素
public void startElement(String uri, String localName, String name,Attributes attr) throws SAXException {
tagName = localName;//不带前缀的name name是带前缀的
if(localName.equals("string")){
for(int i = 0;i<attr.getLength();i++){
System.out.println(attr.getLocalName(i)+"="+attr.getValue(i));
}
}
}
//读取内容
public void characters(char[] ch, int start, int length)
throws SAXException {
if(tagName.equals("string")){
hisname = new String(ch,start,length);
}else if(tagName.equals("dddd")){
dddd = new String(ch,start,length);
}
}
//结束读取元素
public void endElement(String uri, String localName, String name)
throws SAXException {
if(localName.equals("string")){
printout();
}
}
public void endDocument() throws SAXException {
System.out.println("======end=========");
}