zoukankan      html  css  js  c++  java
  • Android 解析XML

    public void getXML(String url) throws XmlPullParserException,IOException,URISyntaxException 
    { 
        String xmlString=downloadXML(url);   
          
        XmlPullParserFactory factory=XmlPullParserFactory.newInstance(); 
          
        factory.setNamespaceAware(true); 
          
        XmlPullParser parser=factory.newPullParser(); 
          
      
          
        parser.setInput(new StringReader(xmlString)); 
          
        int eventType=parser.getEventType(); 
          
         List<Forecast_conditions> conditionsList=new ArrayList<Forecast_conditions>(); 
         Forecast_conditions forecast_conditions=null; 
          
          
        while (eventType != XmlPullParser.END_DOCUMENT) { 
              
            if (eventType == XmlPullParser.START_DOCUMENT) { 
                System.out.println("Start Document"); 
            }else if (eventType== XmlPullParser.START_TAG) { 
                System.out.println("Start Tag "+parser.getName()); 
                  
                  
                  
                  
                if (parser.getName().equals("forecast_conditions"))  
                { 
                    forecast_conditions=new Forecast_conditions(); 
                } 
                      
                    if (parser.getName().equals("day_of_week")) { 
                        forecast_conditions.setDay_of_week(parser.getAttributeValue(0)); 
                          
                    }else if (parser.getName().equals("low")) { 
                          
                        forecast_conditions.setLow(parser.getAttributeValue(0)); 
                    }else if (parser.getName().equals("high")) { 
                          
                        forecast_conditions.setHigh(parser.getAttributeValue(0)); 
                    }else if (parser.getName().equals("icon")) { 
                          
                        try { 
                            forecast_conditions.setIcon(parser.getAttributeValue(0)); 
                        } catch (Exception e) { 
                            // TODO: handle exception 
                        } 
                          
                          
                    }else if (parser.getName().equals("condition")) { 
                          
                        try { 
                             forecast_conditions.setCondition(parser.getAttributeValue(0));  
                        } catch(Exception e){ 
                              
                        } 
                          
                         
                          
                          
                    } 
                  
                  
                  
                  
               /*   int size=parser.getAttributeCount(); 
                  
                for (int i = 0; i < size; i++) { 
                    System.out.println("AttributeName "+parser.getAttributeName(i)); 
                    System.out.println("AttributeValue"+parser.getAttributeValue(i)); 
                } */
            }else if(eventType== XmlPullParser.END_TAG){ 
                System.out.println("End Tag "+parser.getName()); 
                if (parser.getName().equals("forecast_conditions")) { 
                    conditionsList.add(forecast_conditions); 
                } 
                  
            }else if(eventType==XmlPullParser.TEXT){ 
                System.out.println("Text "+parser.getText()); 
            } 
              
            eventType=parser.next(); 
        } 
        System.out.println("End Document"); 
          
          
        bindToListView(conditionsList); 
        //XmlUtils. 
              
          
    }
    
    01.package com.st.demo;   
    02.  
    03.import java.io.File;   
    04.import java.io.FileInputStream;   
    05.import java.io.InputStream;   
    06.  
    07.import javax.xml.parsers.DocumentBuilder;   
    08.import javax.xml.parsers.DocumentBuilderFactory;   
    09.  
    10.import org.w3c.dom.Document;   
    11.import org.w3c.dom.Element;   
    12.import org.w3c.dom.Node;   
    13.import org.w3c.dom.NodeList;   
    14.  
    15.public class XmlReader {   
    16.    public static void main(String[] args) {   
    17.        XmlReader reader = new XmlReader();   
    18.    }   
    19.    public XmlReader(){   
    20.        DocumentBuilderFactory domfac = DocumentBuilderFactory.newInstance();   
    21.        try {   
    22.            DocumentBuilder domBuilder = domfac.newDocumentBuilder();   
    23.            InputStream is = new FileInputStream(new File("D:/test1.xml"));   
    24.            Document doc = domBuilder.parse(is);   
    25.            Element root = doc.getDocumentElement();   
    26.            NodeList books = root.getChildNodes();   
    27.            if(books!=null){   
    28.                for (int i = 0; i < books.getLength(); i++) {   
    29.                    Node book = books.item(i);   
    30.                     if(book.getNodeType()==Node.ELEMENT_NODE) {   
    31.                            //(7)取得节点的属性值   
    32.                            String email=book.getAttributes().getNamedItem("email").getNodeValue();   
    33.                            System.out.println(email);   
    34.                            //注意,节点的属性也是它的子节点。它的节点类型也是Node.ELEMENT_NODE   
    35.                            //(8)轮循子节点   
    36.                            for(Node node=book.getFirstChild();node!=null;node=node.getNextSibling()) {   
    37.                                if(node.getNodeType()==Node.ELEMENT_NODE) {   
    38.                                    if(node.getNodeName().equals("name")) {   
    39.                                        String name=node.getNodeValue();   
    40.                                        String name1=node.getFirstChild().getNodeValue();   
    41.                                        System.out.println(name);   
    42.                                        System.out.println(name1);   
    43.                                    }   
    44.                                    if(node.getNodeName().equals("price")) {   
    45.                                        String price=node.getFirstChild().getNodeValue();   
    46.                                        System.out.println(price);   
    47.                                    }   
    48.                                }   
    49.                            }   
    50.                     }   
    51.                }   
    52.            }   
    53.        } catch (Exception e) {   
    54.            // TODO Auto-generated catch block   
    55.            e.printStackTrace();   
    56.        }   
    57.           
    58.    }   
    59.}  
  • 相关阅读:
    ASP.NET 2.0 X64的奇怪问题
    【分享】从网上爬的WPF学习资料
    大家一起学习less 5:字符串插值
    大家一起学习less 3:命名空间
    我的模块加载系统 v18
    大家一起学习less 2:自带函数
    “计算机之子”的MVVM框架源码学习笔记
    我的MVVM框架 v0.1发布
    大家一起学习less 6:一些有用的混合函数
    less源码学习
  • 原文地址:https://www.cnblogs.com/zuiyirenjian/p/3484036.html
Copyright © 2011-2022 走看看