天天看点

解析xml文件

xml一般指可标记的扩展语言。

形如:<?xml version="1.0" encoding="utf-8"?>

<students>

<student number="stu001">

<name>张三</name>

<age>18</age>

<sex>男</sex>

</student>

<student number="stu002">

<name>李四</name>

<age>20</age>

<sex>女</sex>

</students>

但是如何解析成java识别的bean对象呢?

如下:使用递归:需要导入一个dom4j.jar包。

package com.of.test;

import org.dom4j.document;

import org.dom4j.documentexception;

import org.dom4j.element;

import org.dom4j.node;

import org.dom4j.io.saxreader;

public class demo2 {

/**

* @param args

* @throws documentexception 

*/

//使用递归的方法解析xml文件

public static void main(string[] args) throws documentexception {

// todo auto-generated method stub

//获取解析的对象:

saxreader reader = new saxreader();

document doc = reader.read("src/student.xml");

element root = doc.getrootelement();

//system.out.println(root.getname());

treewalk(root);

}

//定义递归的方法:

private static  void treewalk(element root){

system.out.println(root.getname());

//nodecount

//它是子节点的数量,包括元素节点和文本节点

for (int i = 0; i < root.nodecount(); i++) {

//获取第i个节点

node node = root.node(i);

if(node instanceof element){

treewalk((element)node);

继续阅读