Java xml解析

xml解析为Java程序

package xml01;
import java.io.File;
import java.util.ArrayList;
import java.util.List;
import org.dom4j.Attribute;
import org.dom4j.Document;
import org.dom4j.Element;
import org.dom4j.io.SAXReader;
/**

  • 使用DOM解析XML文件
  • @author Administrator
    /
    public class xmlDemo01 {
    public static void main(String []args){
    try{
    //org.dom4j.xxxx
    SAXReader reader= new SAXReader();//创建SAXReader,用来读取XML文件
    File xmlFile = new File("emp.xml");//指定xml文件使得SAXReader读取,并解析问文档对象Document
    /

    * read方法的作用:读取给定的xml,并将其解析转换为 一个Document对象。
    * 实际上这里已经完成了对整个xml解析的工作。并将所有内容封装到了Document对象中。
    * Document对象可以描述当前xml文档
    /
    Document doc = reader.read(xmlFile);
    Element root = doc.getRootElement();//获取根元素
    List elements = root.elements();//获取当前标签下的所有子标签。
    /

    * 创建一个集合,用于保存xml中的每一个用户信息。我们先将用户信息取出,然后创建一个Emp例,
    * 将信息设置到该实例的相应属性上。最终将所有emp对象存入该集合。
    /
    List list= new ArrayList();//
    for(Element emp : elements){//遍历每一个emp标签
    Emp e = new Emp();//创建一个Emp对象,用于保存信息
    Element ename = emp.element("name");//首先,获取名为"name"的子标签
    String name = ename.getText(); //其次,获取前后标签中间的文本
    int age = Integer.parseInt(emp.elementText("age"));//获取年龄
    String gender= emp.elementText("gender");//解析性别
    int salary= Integer.parseInt(emp.elementText("salary"));//解析工资
    e.setAge(age);
    e.setName(name);
    e.setGender(gender);
    e.setSalary(salary);
    /

    * 通过Element获取元素属性Attribute attribute(String name)获取当前标签中指定名字的属性
    /
    Attribute attr = emp.attribute("id");//获取id属性
    /

    * Attribute表示一个属性,获取该属性的值常用方法:
    * String getValue()获取该属性的值
    * String getName()获取该属性的名字
    */
    int id =Integer.parseInt(attr.getValue());
    e.setId(id);
    //将Emp对象存入集合
    list.add(e);
    }
    System.out.println("解析了"+list.size()+"个员工信息");
    //输出每一个员工信息
    for(Emp e : list){
    System.out.println(e);
    }
    }catch(Exception e){
    e.getMessage();
    }
    }
    }

你可能感兴趣的:(Java xml解析)