java中用dom4j如何循环XML各个节点,输出属性值到控制台??请帮忙写出代码,谢谢!!急急、、急、、
这是XML文件,如何遍历这个XML,获取各个节点的属性值,然后打印到控制台,谢谢!!!急急急、、<?xmlversion="1.0"encoding="UTF-8"?>-...
这是XML文件,如何遍历这个XML,获取各个节点的属性值,然后打印到控制台,谢谢!!!急急急、、
<?xml version="1.0" encoding="UTF-8" ?>
- <catalog>
<is_success>T</is_success>
- <journal sid="001">
<game>game</game>
<gamename>gamename</gamename>
<title>java xml lie bao ce shi</title>
<firstname>fisthello</firstname>
<lastname>lasthello</lastname>
</journal>
- <gen id="002">
<game2>game2</game2>
<gamename2>gamename2</gamename2>
<title2>222</title2>
<firstname2>fisthello2</firstname2>
<lastname2>lasthello2</lastname2>
</gen>
</catalog> 展开
<?xml version="1.0" encoding="UTF-8" ?>
- <catalog>
<is_success>T</is_success>
- <journal sid="001">
<game>game</game>
<gamename>gamename</gamename>
<title>java xml lie bao ce shi</title>
<firstname>fisthello</firstname>
<lastname>lasthello</lastname>
</journal>
- <gen id="002">
<game2>game2</game2>
<gamename2>gamename2</gamename2>
<title2>222</title2>
<firstname2>fisthello2</firstname2>
<lastname2>lasthello2</lastname2>
</gen>
</catalog> 展开
1个回答
展开全部
要读的xml文件
<?xml version="1.0" encoding="GB2312"?>
<学生花名册>
<学生 性别 = "男">
<姓名>李华</姓名>
<年龄>14</年龄>
</学生>
<学生 性别 = "男">
<姓名>张三</姓名>
<年龄>16</年龄>
</学生>
</学生花名册>
Vector students_Vector;
private Vector readXMLFile(String file) throws Exception {
DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance();
DocumentBuilder builder = dbf.newDocumentBuilder();
Document doc = builder.parse(file); // 获取到xml文件
// 下面开始读取
Element root = doc.getDocumentElement(); // 获取根元素
NodeList students = root.getElementsByTagName_r("学生");
students_Vector = new Vector();
for (int i = 0; i < students.getLength(); i++) {
// 一次取得每一个学生元素
Element ss = (Element) students.item(i);
// 创建一个学生的实例
student stu = new student();
stu.setSex(ss.getAttribute("性别"));
NodeList names = ss.getElementsByTagName_r("姓名");
Element e = (Element) names.item(0);
Node t = e.getFirstChild();
stu.setName(t.getNodeValue());
NodeList ages = ss.getElementsByTagName_r("年龄");
e = (Element) ages.item(0);
t = e.getFirstChild();
stu.setAge(Integer.parseInt(t.getNodeValue()));
students_Vector.add(stu);
}
return students_Vector;
}
参照这个写
<?xml version="1.0" encoding="GB2312"?>
<学生花名册>
<学生 性别 = "男">
<姓名>李华</姓名>
<年龄>14</年龄>
</学生>
<学生 性别 = "男">
<姓名>张三</姓名>
<年龄>16</年龄>
</学生>
</学生花名册>
Vector students_Vector;
private Vector readXMLFile(String file) throws Exception {
DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance();
DocumentBuilder builder = dbf.newDocumentBuilder();
Document doc = builder.parse(file); // 获取到xml文件
// 下面开始读取
Element root = doc.getDocumentElement(); // 获取根元素
NodeList students = root.getElementsByTagName_r("学生");
students_Vector = new Vector();
for (int i = 0; i < students.getLength(); i++) {
// 一次取得每一个学生元素
Element ss = (Element) students.item(i);
// 创建一个学生的实例
student stu = new student();
stu.setSex(ss.getAttribute("性别"));
NodeList names = ss.getElementsByTagName_r("姓名");
Element e = (Element) names.item(0);
Node t = e.getFirstChild();
stu.setName(t.getNodeValue());
NodeList ages = ss.getElementsByTagName_r("年龄");
e = (Element) ages.item(0);
t = e.getFirstChild();
stu.setAge(Integer.parseInt(t.getNodeValue()));
students_Vector.add(stu);
}
return students_Vector;
}
参照这个写
追问
汗、、大哥,我不要下面的创建学生的实例,我只想把XML文件各个节点遍历出来,然后打印各个节点的属性值到控制台、、
追答
这个不是创建吧?这个明明是读
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询