说是找不到路径 怎么改
来源:3-2 Dom4j遍历XML
XXXXg
2019-09-28 13:52:43
package com.imooc.dom4j;
import java.util.List;
import org.dom4j.Attribute;
import org.dom4j.Document;
import org.dom4j.DocumentException;
import org.dom4j.Element;
import org.dom4j.io.SAXReader;
public class hrReader {
public void readXml() {
String file="/User/12523/Desktop/xml/src/hr.xml";
//SAXReader类是读取XML文件的核心类,用于将XML解析后以树的形式保存在内存中。
SAXReader reader=new SAXReader();
try {
Document document=reader.read(file);
//获取XML文档的根节点,即hr标签
Element root=document.getRootElement();
//获取所有的employee标签[elements方法用于获取指定的标签集合]
List<Element> employees=root.elements("employee");
for(Element employee:employees){
//element方法用于获取唯一的子节点对象
Element name=employee.element("name");
//getText方法用于获取标签文本值
String empName=name.getText();
System.out.println(empName);
//elementText用于获取子节点的文本
System.out.println(employee.elementText("age"));
System.out.println(employee.elementText("salary"));
Element department=employee.element("department");
System.out.println(department.addElement("dname").getText());
System.out.println(department.addElement("address").getText());
//attribute获取属性
Attribute att=employee.attribute("no");
System.out.println(att.getText());
}
} catch (DocumentException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
public static void main (String[] args){
hrReader hd=new hrReader();
hd.readXml();
}
}
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE hr SYSTEM "hr.dtd">
<!-- 人力资源管理器 -->
<hr>
<employee no="3309">
<name>张三</name>
<age>31</age>
<salary>4000</salary>
<department>
<dname>会计部</dname>
<address>xx大厦-B103</address>
</department>>
</employee>
<employee no="3310">
<name>李四</name>
<age>23</age>
<salary>3000</salary>
<department>
<dname>工程部</dname>
<address>xx大厦-B104</address>
</department>>
</employee>
</hr>
1回答
好帮手慕小班
2019-09-28
同学你好,这里是没有获取到具体的桌面路径吧,同学可以打开计算机,找到桌面,右击鼠标,点击属性

打开属性,就可以看到桌面的具体路径啦,例如:

这样同学在file中写入对应的路径下的文件,就可以找到啦。
2、在遍历输出对象内容时,注意element方法用于获取唯一的子节点对象,所以遍历输出对象,不要使用addElement方法,修改建议如下:
如果我的回答解决了你的疑惑,请采纳。祝:学习愉快~
相似问题