以下是config.xml的内容:<?xml version="1.0" encoding="GB2312"?>
<roles>
   <role>
     <roleName>设备科</roleName>
     <roleMenus>
         <menu>计划</menu>
         <menu>总结</menu>
     </roleMenus>
  </role>
   <role>
     <roleName>后勤科</roleName>
     <roleMenus>
         <menu>进展</menu>
     </roleMenus>
  </role>
</roles>请问我用dom4j如何读出每一个menu?以下代码
import java.io.*;
import java.util.*;
import org.dom4j.*;
import org.dom4j.io.*;public class MyXMLReader {
 public static void main(String arge[]) {
   try {
    File f = new File("config.xml");
SAXReader reader = new SAXReader();
Document doc = reader.read(f);
Element root = doc.getRootElement();
Element foo;
for (Iterator i = root.elementIterator("role"); i.hasNext();) {
foo = (Element) i.next();
System.out.print("roleName:" + foo.elementText("roleName"));
    //以下如何读出roleMenus下面包含的每一个menu?
    ……
}
 } catch (Exception e) {
e.printStackTrace();
}
}谢谢!

解决方案 »

  1.   

    Document xmlDoc = saxreader.read(new File(fileName));
    Element root = xmlDoc.getRootElement();
      

  2.   

    Element foo = null;
    for (Iterator i = root.elementIterator("role"); i.hasNext();) {
    foo = (Element) i.next();
    Iterator ii = foo.elements("roleMenus").iterator();

    while(ii.hasNext()) {

    Iterator ii1 = ((Element)ii.next()).elementIterator("menu");
    while(ii1.hasNext()) {
    System.out.println(((Element)ii1.next()).getText());
    }
    }
    }
      

  3.   

    ok
    多谢interpb(曾曾胡,深怕情多累美人!!!)!