xml获取标签里面的内容(也包含标签) xmldom4jdomsax解析xml 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 假如说:student.xml : <student> <id>200192001</id> <name>张三</name> <age>18</age> <gender>男</gender> <email>[email protected]</email> <java>98</java> </student>代码: Map map = new HashMap(); org.dom4j.io.SAXReader reader = new org.dom4j.io.SAXReader(); reader.setValidation(false); org.dom4j.Document doc = reader.read(new FileInputStream( "student.xml")); org.dom4j.Element root = doc.getRootElement(); String defaultNamespace = root.getNamespaceURI(); map.put("default", defaultNamespace); reader.getDocumentFactory().setXPathNamespaceURIs(map); // 带有命名空间的解析,DOM4J也支持默认命名空间 org.dom4j.XPath path = doc .createXPath("/default:students/default:student"); path.setNamespaceURIs(map); List list = path.selectNodes(doc); for (Iterator it = list.iterator(); it.hasNext();) { org.dom4j.Node stu = (org.dom4j.Node) it.next(); // XPATH路径举例:child::default:id org.dom4j.XPath pathc = stu.createXPath("child::*"); pathc.setNamespaceURIs(map); List child = pathc.selectNodes(stu); String id = "", name = "", email = ""; int age = 0, java = 0; boolean gender = false; // 遍历student元素的子元素 for (int i = 0; i < child.size(); i++) { org.dom4j.Element e1 = (org.dom4j.Element) child.get(i); String tname = e1.getName(); String tvalue = e1.getText(); if (tname.equals("id")) { id = tvalue; } else if (tname.equals("name")) { name = tvalue; } else if (tname.equals("email")) { email = tvalue; } else if (tname.equals("gender")) { gender = tvalue.equals("男"); } else if (tname.equals("age")) { age = Integer.parseInt(tvalue); } else if (tname.equals("java")) { java = Integer.parseInt(tvalue); } } Student s = new Student(id, name, email, java, age, gender); r.add(s); java socket通讯问题!急啊!!!! 高手指点,类初始化问题 环境变量设置问题; J2SE如何返回一个Access数据库所有的表? 微软测试题(感兴趣的请进) 请问谁有Thinking in Java 最新电子版书 如何在java applet里读本地的文件(我是从delphi大富翁来得,听说这里也不错,事实怎么样?) 新手求助 java编程问题 求一个正则表达式--java--急急急 关于jmeter安装的问题 求教!!jni获取jframe的HWND句柄异常
student.xml : <student>
<id>200192001</id>
<name>张三</name>
<age>18</age>
<gender>男</gender>
<email>[email protected]</email>
<java>98</java>
</student>代码:
Map map = new HashMap();
org.dom4j.io.SAXReader reader = new org.dom4j.io.SAXReader();
reader.setValidation(false);
org.dom4j.Document doc = reader.read(new FileInputStream(
"student.xml"));
org.dom4j.Element root = doc.getRootElement(); String defaultNamespace = root.getNamespaceURI();
map.put("default", defaultNamespace);
reader.getDocumentFactory().setXPathNamespaceURIs(map); // 带有命名空间的解析,DOM4J也支持默认命名空间
org.dom4j.XPath path = doc
.createXPath("/default:students/default:student");
path.setNamespaceURIs(map);
List list = path.selectNodes(doc); for (Iterator it = list.iterator(); it.hasNext();) {
org.dom4j.Node stu = (org.dom4j.Node) it.next();
// XPATH路径举例:child::default:id
org.dom4j.XPath pathc = stu.createXPath("child::*");
pathc.setNamespaceURIs(map);
List child = pathc.selectNodes(stu); String id = "", name = "", email = "";
int age = 0, java = 0;
boolean gender = false;
// 遍历student元素的子元素
for (int i = 0; i < child.size(); i++) {
org.dom4j.Element e1 = (org.dom4j.Element) child.get(i);
String tname = e1.getName();
String tvalue = e1.getText(); if (tname.equals("id")) {
id = tvalue;
} else if (tname.equals("name")) {
name = tvalue;
} else if (tname.equals("email")) {
email = tvalue;
} else if (tname.equals("gender")) {
gender = tvalue.equals("男");
} else if (tname.equals("age")) {
age = Integer.parseInt(tvalue);
} else if (tname.equals("java")) {
java = Integer.parseInt(tvalue);
}
}
Student s = new Student(id, name, email, java, age, gender);
r.add(s);