zoukankan      html  css  js  c++  java
  • 递归解析XML

               

      

     1 package com.app.test;
     2 
     3 import java.io.InputStream;
     4 import java.util.List;
     5 
     6 import org.dom4j.Attribute;
     7 import org.dom4j.Document;
     8 import org.dom4j.DocumentException;
     9 import org.dom4j.Element;
    10 import org.dom4j.io.SAXReader;
    11 import org.junit.Test;
    12 
    13 public class Dom4jTest {
    14     //test时Juint的常用注解,选择函数名字 右键Run as Junit Test
    15 
    16     @Test
    17     public void testParseXML() throws DocumentException {
    18         SAXReader reader = new SAXReader();
    19         InputStream is = this.getClass().getClassLoader()
    20                 .getResourceAsStream("weather.xml");
    21         Document doc = reader.read(is);
    22         Element root = doc.getRootElement();
    23         printChild(root);
    24     }
    25 
    26     public void printChild(Element root) {
    27         @SuppressWarnings("unchecked")
    28         List<Element> childList = root.elements();
    29         System.out.println(root.getName()+" "+root.getText());
    30         for (Element e : childList) {
    31             if (e.elements().size() == 0) {
    32                 @SuppressWarnings("unchecked")
    33                 List<Attribute> attributeList = e.attributes();
    34                 for (Attribute a : attributeList) {
    35                     System.out.println(a.getName() + ":" + a.getValue());
    36                 }
    37                 System.out.println(e.getName() + " " + e.getText());
    38             } else {
    39                 System.out.println(e.getName());
    40                 List<Attribute> attributeList = e.attributes();
    41                 for (Attribute a : attributeList) {
    42                     System.out.println(a.getName() + ":" + a.getValue()+"======================");
    43                 }
    44                 printChild(e);
    45             }
    46         }
    47     }
    48 }
  • 相关阅读:
    中国大概可用NTPserver地址
    ROOT android 原则。 基于(zergRush)
    Struts2他们拦截器实例定义—登陆权限验证
    引用与指针
    address_space 从哪里来
    C++ 可以多个函数声明
    linux下远程管理利器-tmux
    内核空间和用户空间的分界 PAGE_OFFSET
    io端口
    C中程序的内存分配
  • 原文地址:https://www.cnblogs.com/hxsyl/p/4118564.html
Copyright © 2011-2022 走看看