zoukankan      html  css  js  c++  java
  • dom解析xml

     public class MainActivity extends Activity { 
            
         // 存储最终在前台显示的内容 
         private String result = ""; 
         private ArrayList<Beauty> beautyList = new ArrayList<Beauty>();      
         private Beauty beauty = null; 
            
          @Override    
          public void onCreate(Bundle savedInstanceState) { 
            
            super.onCreate(savedInstanceState);         
            setContentView(R.layout.activity_main);          
            
            InputStream inputStream = this.getClassLoader().getResourceAsStream("beautiful.xml"); 
            
            try { 
                DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
                DocumentBuilder builder = factory.newDocumentBuilder();
                Document document = builder.parse(inputStream); 
            
                // 获取根节点    
                Element root = document.getDocumentElement();
                parse(root);
                for (Beauty b : beautyList) {
                    result += b.toString();
                }         
            
                TextView textView = (TextView) findViewById(R.id.textView);         
                textView.setText(result);         
            }catch (Exception e) {
                e.printStackTrace();    
            } 
         }            
            /*
            * @param element 将要进行遍历的节点        
            */
            
        private void parse(Element element) { 
            
            NodeList nodelist = element.getChildNodes();
            int size = nodelist.getLength(); 
            
            for (int i = 0; i < size; i++) {        
                // 获取特定位置的node
                Node element2 = (Node) nodelist.item(i);         
            
                String tagName = element2.getNodeName();         
                if (tagName.equals("beauty") && element2.getNodeType() == Document.ELEMENT_NODE){ 
                     beauty = new Beauty();
                     Log.i("通知:", "创建beauty");
                     if (element2.getNodeType() == Document.ELEMENT_NODE) {
                         parse((Element) element2);
                    }
                     Log.i("通知:", "添加beauty");
                     beautyList.add(beauty);    
                } 
                
                if (tagName.equals("name")) {
                    String name = element2.getTextContent();
                    Log.i("通知:", "name" + name);
                    beauty.setName(name);    
                } 
                
                if (tagName.equals("age")) {
                    String age = element2.getTextContent();
                    Log.i("通知:", "age" + age);
                    beauty.setAge(age);     
                } 
            } 
        }      
            
            /**          
            * @author chenzheng_java 这里使用内部类是为了效率考虑,内部类要比单独顶一个bean类更加的高效以及节约空间     */
            
            private class Beauty { 
                String name;String age;
                
                public String getName() {
                    return name;
                }             
                public void setName(String name) { 
                    this.name = name; 
                }             
                public String getAge() { 
                    return age; 
                }         
                public void setAge(String age) { 
                    this.age = age; 
                }             
                @Override
                public String toString() {
                    return "美女资料 [年龄=" + age + ", 姓名=" + name + "]";
                }    
            } 
      }
  • 相关阅读:
    [WARNING] 找不到编译器:wepy-compiler-less。 [Error] 未发现相关 less 编译器配置,请检查wepy.config.js文件。
    wepy-cli : Failed to download repo standard: getaddrinfo ENOENT raw.githubusercontent.com
    火币Huobi 币安 Binance ios 反编译
    iPhone 反编译-微信多开分身版原理,一部iPhone登录多个微信号
    安卓微信分身版 一部手机同时登录多个微信号 原理
    微信smali反编译 查看撤回消息
    微信抢红包
    Dota2 荒神罪 破解
    微信smali反编译 语音消息转发功能
    mac安装mysql流程
  • 原文地址:https://www.cnblogs.com/Jackie-zhang/p/10503945.html
Copyright © 2011-2022 走看看