当前页面: 开发资料首页 → J2SE 专题 → 关于dom4j如何读取xml内容的问题?
关于dom4j如何读取xml内容的问题?
摘要: 关于dom4j如何读取xml内容的问题?
以下是config.xml的内容:
-#60;?xml version=-#34;1.0-#34; encoding=-#34;GB2312-#34;?-#62;
-#60;roles-#62;
-#60;role-#62;
-#60;roleName-#62;设备科-#60;/roleName-#62;
-#60;roleMenus-#62;
-#60;menu-#62;计划-#60;/menu-#62;
-#60;menu-#62;总结-#60;/menu-#62;
-#60;/roleMenus-#62;
-#60;/role-#62;
-#60;role-#62;
-#60;roleName-#62;后勤科-#60;/roleName-#62;
-#60;roleMenus-#62;
-#60;menu-#62;进展-#60;/menu-#62;
-#60;/roleMenus-#62;
-#60;/role-#62;
-#60;/roles-#62;
请问我用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(-#34;config.xml-#34;);
SAXReader reader = new SAXReader();
Document doc = reader.read(f);
Element root = doc.getRootElement();
Element foo;
for (Iterator i = root.elementIterator(-#34;role-#34;); i.hasNext();) {
foo = (Element) i.next();
System.out.print(-#34;roleName:-#34; + foo.elementText(-#34;roleName-#34;));
//以下如何读出roleMenus下面包含的每一个menu?
……
}
} catch (Exception e) {
e.printStackTrace();
}
}
谢谢!
Document xmlDoc = saxreader.read(new File(fileName));
Element root = xmlDoc.getRootElement();
Element foo = null;
for (Iterator i = root.elementIterator(-#34;role-#34;); i.hasNext();) {
foo = (Element) i.next();
Iterator ii = foo.elements(-#34;roleMenus-#34;).iterator();
while(ii.hasNext()) {
Iterator ii1 = ((Element)ii.next()).elementIterator(-#34;menu-#34;);
while(ii1.hasNext()) {
System.out.println(((Element)ii1.next()).getText());
}
}
}
ok
多谢interpb(曾曾胡,深怕情多累美人!!!)!