当前位置: 技术问答>java相关
算法的小问题(JDOM解析XML情况下)
来源: 互联网 发布时间:2015-05-17
本文导语: 下面这个程序用JDOM解析了XML文档,有一个问题没有解决,我想用int型gradeNumber变量来标记元素的层数(比如根元素的gradeNumber为0,第一级子元素的gradeNumber为1,依此类推),请问哪位能给改一下,以实现这个功能。 --...
下面这个程序用JDOM解析了XML文档,有一个问题没有解决,我想用int型gradeNumber变量来标记元素的层数(比如根元素的gradeNumber为0,第一级子元素的gradeNumber为1,依此类推),请问哪位能给改一下,以实现这个功能。
--------------------------------------------------------------------
import org.apache.xerces.parsers.SAXParser;
import java.util.*;
import org.jdom.Document;
import org.jdom.Element;
import org.jdom.input.SAXBuilder;
import org.jdom.output.XMLOutputter;
public class TreeTest
{
private int gradeNumber=0;
public static void main(String[] args)
{
try
{
TreeTest t=new TreeTest();
t.go("D:\DK\WorkRoom\BBB.xml"); // 改成你的XML路径
}
catch(Exception e)
{
e.printStackTrace();
}
}
public void go(String path) throws Exception
{
SAXBuilder saxBuilder=new SAXBuilder("org.apache.xerces.parsers.SAXParser");
Document jdomDoc=saxBuilder.build(path);
Element rootElement=jdomDoc.getRootElement();
recurse(rootElement,gradeNumber);
}
public void recurse(Element element,int gradeNumber) throws Exception
{
System.out.println(gradeNumber+" "+element.getName());
if (element.hasChildren())
{
List list=element.getChildren();
for (int i=0;i
--------------------------------------------------------------------
import org.apache.xerces.parsers.SAXParser;
import java.util.*;
import org.jdom.Document;
import org.jdom.Element;
import org.jdom.input.SAXBuilder;
import org.jdom.output.XMLOutputter;
public class TreeTest
{
private int gradeNumber=0;
public static void main(String[] args)
{
try
{
TreeTest t=new TreeTest();
t.go("D:\DK\WorkRoom\BBB.xml"); // 改成你的XML路径
}
catch(Exception e)
{
e.printStackTrace();
}
}
public void go(String path) throws Exception
{
SAXBuilder saxBuilder=new SAXBuilder("org.apache.xerces.parsers.SAXParser");
Document jdomDoc=saxBuilder.build(path);
Element rootElement=jdomDoc.getRootElement();
recurse(rootElement,gradeNumber);
}
public void recurse(Element element,int gradeNumber) throws Exception
{
System.out.println(gradeNumber+" "+element.getName());
if (element.hasChildren())
{
List list=element.getChildren();
for (int i=0;i