在eclipse中如何利用JDOM解析xml文件

import java.io.IOException;
import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;
import java.util.Map;
import java.util.Set;

import org.jdom.Document;
import org.jdom.Element;
import org.jdom.JDOMException;
import org.jdom.input.SAXBuilder;

public class Jdom{

private static void parse(String fileName){
     
           SAXBuilder builder=new SAXBuilder();
           try{
               Document doc=builder.build(fileName);
               listNodes(doc,0);  //递规调用,遍历所有元素的属性,将结果俺组存入临时ArrayList中
    
           }
           catch(JDOMException e){
               System.out.println(e.getMessage());
           }
           catch(IOException e){
               System.out.println(e);
           }
    }
    /*
     * 递规调用,遍历所有元素属性
     */
    private static void listNodes(Object o, int depth) {
         
        if(o instanceof Element){
            Element element=(Element) o;
            System.out.println(element.getName()+" ");
            if(element.getName()=="interfaceConfig"){
                String a=element.getAttributeValue("resource");
                System.out.println(element.getName()+" "+"="+a);
            }
            List children = element.getContent();
            Iterator iterator=children.iterator();
            while(iterator.hasNext()){
                Object child=iterator.next();
                listNodes(child,depth+1);
            }
        }
        else if(o instanceof Document){
            Document doc=(Document) o;
            List children=doc.getContent();
            Iterator iterator=children.iterator();
            while(iterator.hasNext()){
                Object child=iterator.next();
                listNodes(child,depth+1);
            }
        }
    }
    public static void main(String[] args) {
        String fileName="sconfig.xml";
        Jdom test=new Jdom();
        test.parse(fileName);
          
    }
}

下面是xml文件,文件名为sconfig.xml
<?xml version="1.0"?>
<sconfig>
<interfaceConfig resource="c:/configuration.xml"/>
<interfaceConfig resource="c:/configuration1.xml"/>
<interfaceConfig resource="c:/configuration2.xml"/>
</sconfig>
下面是结果:
sconfig
interfaceConfig
interfaceConfig =c:/configuration.xml
interfaceConfig
interfaceConfig =c:/configuration1.xml
interfaceConfig
interfaceConfig =c:/configuration2.xml

可以看到,这个文件把xml里的所有元素和属性都列出来了,我这个方法是要特定解析文件里的某个属性,把它读出来,之后读者可以自己处理。当然,我这个方法稍微改一下就可以适应其他的情况。请读者自己着一下JDOM的书看一下就好了,另外本人推荐一本叫JAVA语言与XML处理教程的书,本人看了,受益非浅,呵呵。

你可能感兴趣的:(eclipse,xml,String,object,iterator,import)