老师这是什么原因 是路径的问题吗?

来源:3-2 Dom4j遍历XML

慕桂英6985738

2019-11-05 07:18:13

package com.imooc.dom4j;

import java.util.List;

import org.dom4j.Document;
import org.dom4j.DocumentException;
import org.dom4j.Element;
import org.dom4j.io.SAXReader;

public class HrReader {
       public void redeXml() {
    	  String file ="c:/用户/Administrator/eclipse-workspace/xml/src/hr.xml"; 
    	  //SAXReader类是读取XML文件的核心类,用于将XML解析后以“树”的形式保存在内存中
    	   SAXReader reader =new SAXReader();
    	   try {
			Document document=reader.read(file);
			//获取XML文档的根节点,即hr标签
			Element root =document.getRootElement();
			//elements方法用于获取指定的标签合集
			List<Element> employees =root.elements("employee");
			for(Element employee :employees) {
				//element方法用于获取唯一的子节点
				Element name=employee.element("name");
				String empName =name.getText();//getText()用来获取标签文本
				System.out.println(empName);
			}
		} catch (DocumentException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
       }
       public static void main(String[] args) {
    	   HrReader reader=new   HrReader();
    	   reader.redeXml();
       }
}


写回答

1回答

芝芝兰兰

2019-11-05

同学你好。遇到的报错是什么呢?

1、如果遇到的是org.dom4j.DocumentException: unknown protocol: c

说明没有解析出c是本地磁盘路径,需要在前面追加“file:///”  表明是本地磁盘路径。


2、如果遇到 org.dom4j.DocumentException: C:\用户\Administrator\eclipse-workspace\xml\src\hr.xml (系统找不到指定的路径。)

说明系统找不到这个路径,将路径拷贝到系统文件浏览器的地址栏,可以看到虽然显示为“用户”:

http://img.mukewang.com/climg/5dc11f2c0947794008130365.jpg

但是复制的时候是Users:

http://img.mukewang.com/climg/5dc11f4909912b0407910343.jpg

所以将路径也修改为Users


3、综上,使用如下地址:

String file ="file:///C:/Users/Administrator/eclipse-workspace/xml/src/hr.xml";


如果解答了同学的疑问,望采纳~

祝学习愉快~

1

0 学习 · 9666 问题

查看课程