Android???????
???????????? ???????[ 2013/6/4 10:00:26 ] ????????
????(1)???SAX???XML???;???????????????????????????????????????????????????????????SAX?????ContentHandler??????
????PersonDefaultHandler.java
????import java.util.ArrayList;
????import java.util.List;
????import org.xml.sax.Attributes;
????import org.xml.sax.SAXException;
????import org.xml.sax.helpers.DefaultHandler;
????import com.sinber.domain.Person;
????publicclass PersonDefaultHandler extends DefaultHandler {
????private List persons;
????private Person person ; //??????person
????private String perTag; //????????????????
????/**
????* ??д????????????????????????
????*/
????@Override
????publicvoid startDocument() throws SAXException {
????persons =new ArrayList();
????}
????@Override
????publicvoid startElement(String uri?? String localName?? String qName??
????Attributes attributes) throws SAXException {
????if("person".equals(localName)){
????Integer id =new Integer(attributes.getValue(0)); //?id
????person =new Person();
????person.setId(id);
????}
????perTag = localName;
????}
????/**??????
????* ch ????XML?????
????* start ??????????XML??????е?????λ??
????* length ?????????
????*/
????@Override
????publicvoid characters(char[] ch?? int start?? int length)
????throws SAXException {
????if(perTag!=null){
????String data =new String(ch??start??length);
????if("name".equals(perTag)){
????person.setName(data);
????}elseif("age".equals(perTag)){
????person.setAge(new Short(data));
????}
????}
????}
????@Override
????publicvoid endElement(String uri?? String localName?? String qName)
????throws SAXException {
????if("person".equals(localName)){
????persons.add(person);
????person =null;
????}
????perTag =null;
????}
????public List getPersons() {
????return persons;
????}
????}
????SAXPerson.java
????import java.io.InputStream;
????import java.util.List;
????import javax.xml.parsers.SAXParser;
????import javax.xml.parsers.SAXParserFactory;
????import com.sinber.domain.Person;
????publicclass SAXPerson{
????publicstatic List getPerson() throws Exception{
????//????????????????
????InputStream inStream = SAXPersonService.class.getClassLoader().getResourceAsStream("person.xml");
????SAXParserFactory factory = SAXParserFactory.newInstance();
????SAXParser saxParser = factory.newSAXParser();
????PersonDefaultHandler handler =new PersonDefaultHandler();
????saxParser.parse(inStream?? handler);
????inStream.close();
????return handler.getPersons();
????}
????}
????(2)DOM????XML????????XML?????????????????????У?????????????DOM API????XML??????????????????
????DOMPerson.java
????import java.io.InputStream;
????import java.util.ArrayList;
????import java.util.List;
????import javax.xml.parsers.DocumentBuilder;
????import javax.xml.parsers.DocumentBuilderFactory;
????import org.w3c.dom.Document;
????import org.w3c.dom.Element;
????import org.w3c.dom.Node;
????import org.w3c.dom.NodeList;
????import com.sinber.domain.Person;
????publicclass DOMPerson {
????publicstatic List getPerson() throws Exception{
????List pers =new ArrayList();
????InputStream inStream = SAXPersonService.class.getClassLoader().getResourceAsStream("person.xml");
????DocumentBuilderFactory factory =DocumentBuilderFactory.newInstance();
????DocumentBuilder builder = factory.newDocumentBuilder();
????Document dom = builder.parse(inStream);
????Element root = dom.getDocumentElement();
????NodeList persons = root.getElementsByTagName("person");
????for(int i=0;i
????Element personNode =(Element)persons.item(i);
????Person person =new Person();
????person.setId(new Integer(personNode.getAttribute("id")));
????NodeList childNodes = personNode.getChildNodes();
????for(int j=0;j
????Node childNode = childNodes.item(j);
????if(childNode.getNodeType()==Node.ELEMENT_NODE){
????Element element = (Element)childNode;
????if("name".equals(childNode.getNodeName())){
??????
![](/images/ad-banner/ad-banner.png)
???·???
??????????????????
2023/3/23 14:23:39???д?ò??????????
2023/3/22 16:17:39????????????????????Щ??
2022/6/14 16:14:27??????????????????????????
2021/10/18 15:37:44???????????????
2021/9/17 15:19:29???·???????·
2021/9/14 15:42:25?????????????
2021/5/28 17:25:47??????APP??????????
2021/5/8 17:01:11