CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
可用分押宝游戏火热进行中... 专题改版:Java Web 专题
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  Java >  J2EE / EJB / JMS

帮忙看一下用dom4j读取XML属性值,?

楼主zcsnet(大佬曾)2005-04-02 14:27:45 在 Java / J2EE / EJB / JMS 提问

如何读出类似以下文件中的,<Good   id='23001'   name='长袍'   >中的id值,,和name   值啊?  
   
  ----------------------  
  <Goods>  
  <Belt/>  
   
  <Good   id='23001'   name='长袍'   >  
  <Role>0</Role>  
  <Blood>0</Blood>  
  </Good>  
  <Good   id='23002'   name='藤甲'   >  
  <Role>0</Role>  
   
  <Status>0</Status>  
  </Good>  
  <Good   id='23003'   name='魔法'   >  
  <Role>0</Role>  
  <Blood>0</Blood>  
  <Qigong>0</Qigong>  
   
  </Good>  
  <Good   id='23004'   name='盔甲'   >  
  <Role>0</Role>  
  <Blood>0</Blood>  
   
  </Good>  
  <Good   id='23005'   name='袍'   >  
   
  </Goods>  
  问题点数:0、回复次数:10Top

1 楼zcsnet(大佬曾)回复于 2005-04-03 10:02:30 得分 0

UPTop

2 楼dlxu(脱离纯粹Coding阶段)回复于 2005-04-03 13:23:46 得分 0

假设文件名为c:/a.xml  
   
                  SAXReader   reader   =   new   SAXReader();  
                  File   configFile   =   new   File("C:/a.xml");  
                  Document   document   =   reader.read(configFile);  
                  Element   root   =   document.getRootElement();  
   
                  for   (Iterator   i   =   root.elementIterator("Good");   i  
                                  .hasNext();)   {  
                          Element   e=   (Element)   i.next();  
                          System.out.println(e.attributeValue("id"));  
                          System.out.println(e.attributeValue("name"));  
                  }Top

3 楼zcsnet(大佬曾)回复于 2005-04-03 16:11:35 得分 0

楼上这个不行啊,,GOOD外面还有一层Top

4 楼dlxu(脱离纯粹Coding阶段)回复于 2005-04-03 22:47:01 得分 0

你good不是第二层的么,我已经用document.getRootElement();取到了第一层,然后再一个Iterator取第2层啊Top

5 楼zcsnet(大佬曾)回复于 2005-04-04 10:24:23 得分 0

good是第三层,,Top

6 楼dlxu(脱离纯粹Coding阶段)回复于 2005-04-04 10:26:46 得分 0

第一层是goods,第二层是Belt和Good啊  
   
  Good外面只有Goods一层,Belt层自己不是把自己关闭了么,对Good没有任何影响  
   
  要不就是你XML写错了。先把你XML语法检测一下Top

7 楼zcsnet(大佬曾)回复于 2005-04-05 09:45:52 得分 0

<Goods>  
  <Cloth>  
   
  <Good   id='23001'   name='长袍'   >  
  <Role>0</Role>  
  <Blood>0</Blood>  
  </Good>  
  <Good   id='23002'   name='藤甲'   >  
  <Role>0</Role>  
   
  <Status>0</Status>  
  </Good>  
  <Good   id='23003'   name='魔法'   >  
  <Role>0</Role>  
  <Blood>0</Blood>  
  <Qigong>0</Qigong>  
   
  </Good>  
  <Good   id='23004'   name='盔甲'   >  
  <Role>0</Role>  
  <Blood>0</Blood>  
   
  </Good>  
  <Good   id='23005'   name='袍'   >  
                <Cloth/>  
   
  </Goods>  
   
  Top

8 楼zcsnet(大佬曾)回复于 2005-04-05 09:49:49 得分 0

而且还有好多和<cloth>层并列的层,,Good层都是在最里面  
  Top

9 楼itjourney(IT之旅)回复于 2005-04-05 10:33:41 得分 0

SAXReader   reader   =   new   SAXReader();  
          File   configFile   =   new   File("C:\\test.xml");  
          Document   document   =   null;  
          try   {  
              document   =   reader.read(configFile);  
          }  
          catch   (Exception   ex)   {  
              ex.printStackTrace();  
          }  
   
          List   list   =   document.selectNodes("//Goods/Cloth/Good");  
          Iterator   iter   =   list.iterator();  
          while   (iter.hasNext())   {  
              Element   element=(Element)iter.next();  
              System.out.print("ID="+element.attributeValue("id"));  
              System.out.println("       Name="+element.attributeValue("name"));  
          }  
  Top

10 楼itjourney(IT之旅)回复于 2005-04-05 10:37:43 得分 0

另外,你的XML文件格式有错误,正确的应该如下:  
  <?xml   version="1.0"   encoding="gb2312"?>  
  <Goods>  
  <Cloth>  
  <Good   id='23001'   name='长袍'   >  
  <Role>0</Role>  
  <Blood>0</Blood>  
  </Good>  
   
  <Good   id='23002'   name='藤甲'   >  
  <Role>0</Role>  
  <Status>0</Status>  
  </Good>  
   
  <Good   id='23003'   name='魔法'   >  
  <Role>0</Role>  
  <Blood>0</Blood>  
  <Qigong>0</Qigong>  
  </Good>  
   
  <Good   id='23004'   name='盔甲'   >  
  <Role>0</Role>  
  <Blood>0</Blood>  
  </Good>  
   
  <Good   id='23005'   name='袍'   />  
  </Cloth>  
  </Goods>Top

相关问题

  • joyhero(JoyHero) 请你帮我看一下。http://www.csdn.net/expert/topic/581/581103.xml?temp=.4522211
  • XML的问题????是大虾就进来看一下
  • 写到 xml 文件出错,大家帮忙看一下
  • 各位大侠帮我看一下,这句XML有错误吗?
  • 关于XML的问题,希望大虾进来看一下
  • 大G,大J,帮忙进来看一下这段代码好嘛?
  • 请看一下
  • 请看一下?
  • 请看一下
  • 请看一下!

关键词

  • document
  • xml
  • attributevalue
  • configfile
  • saxreader
  • good
  • 层
  • iter
  • reader
  • element

得分解答快速导航

  • 帖主:zcsnet

相关链接

  • CSDN Java频道
  • Java类图书
  • Java类源码下载

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
世纪乐知(北京)网络技术有限公司 版权所有, 京 ICP 证 020026 号
北京创新乐知广告有限公司 提供技术支持
Copyright © 2000-2007, CSDN.NET, All Rights Reserved
GongshangLogo