帮忙看一下哪里有问题只输出两个张三李四没输出来

帮忙看一下哪里有问题只输出两个张三李四没输出来

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 readXml() {

String file="f:/eclipse-workspace/xml/src/hr.xml";

SAXReader reader=new SAXReader();//这个是读取xml的核心类,用于将解析的xml以树的形式保存在内存中

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);

}

} catch (DocumentException e) {

// TODO Auto-generated catch block

e.printStackTrace();

}

}

public static void main(String[] args) {

// TODO Auto-generated method stub

        hrReader hr=new hrReader();

        hr.readXml();

}


}

<?xml version="1.0" encoding="UTF-8"?>

<hr >

  <employee no="1">

    <name>张三</name>

    <age>30</age>

    <salary>4000</salary>

    <department>

      <dname>会计部</dname>

      <address>大厦A</address>

    </department>

   </employee>

   <employee no="2">

    <name>李四</name>

    <age>31</age>

    <salary>4000</salary>

    <department>

      <dname>会计部</dname>

      <address>大厦A</address>

    </department>

   </employee>

</hr>


正在回答

登陆购买课程后可参与讨论,去登陆

2回答

同学你好,测试同学代码是可以的,这里同学说的“有问题”是指什么呢?如果是指部门,年龄,工资等未展示出来,是因为同学在for循环中并未获取。

http://img1.sycdn.imooc.com//climg/5f44b1170987c9e506980303.jpg

如果不是上述老师理解的意思,建议同学重新描述。

2、类名的首字母的要大写,例如:hrReader应改为HrReader

祝学习愉快~

  • qq_ibertine_0 提问者 #1
    就是,他输出德是两个张三,我写的是一个张三,一个李四,还有一问题就是我修改xml里面的文本内容后,再输出,不会变化
    2020-08-25 14:37:03
好帮手慕小脸 2020-08-25 14:57:53

同学你好,测试同学的代码,出现的是一个张三一个李四,并未出现同学说的输出两个张三这种情况。如下:

http://img1.sycdn.imooc.com//climg/5f44b20309ced77e02910112.jpg

2、当在xml中name更换为其他的,运行效果如下:

http://img1.sycdn.imooc.com//climg/5f44b24409496c9103370199.jpg

http://img1.sycdn.imooc.com//climg/5f44b24409000c3d03510135.jpg

上述演示都是可以正确显示的。建议同学检查一下修改的是否为对应的xml。

祝学习愉快~

  • 提问者 qq_ibertine_0 #1
    是对应的,还是不好使,清除缓存也清除了,改一下文本内容依旧还是不变,比如年龄之前是31我改成33输出的还是31
    2020-08-25 15:00:28
  • 好帮手慕小脸 回复 提问者 qq_ibertine_0 #2
    同学你好,建议同学新建一个项目,将代码复制过去再试试。 祝学习愉快~
    2020-08-25 17:42:46
问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师