新书推介:《语义网技术体系》
作者:瞿裕忠,胡伟,程龚
   XML论坛     W3CHINA.ORG讨论区     计算机科学论坛     SOAChina论坛     Blog     开放翻译计划     新浪微博  
 
  • 首页
  • 登录
  • 注册
  • 软件下载
  • 资料下载
  • 核心成员
  • 帮助
  •   Add to Google

    >> 本版讨论DOM, SAX, XPath等。
    [返回] 中文XML论坛 - 专业的XML技术讨论区XML.ORG.CN讨论区 - XML技术『 DOM/SAX/XPath 』 → [求助]这问题真的要命了。再弄不出来就要挨批了。跪求正解,请高人指点 查看新帖用户列表

      发表一个新主题  发表一个新投票  回复主题  (订阅本版) 您是本帖的第 3464 个阅读者浏览上一篇主题  刷新本主题   树形显示贴子 浏览下一篇主题
     * 贴子主题: [求助]这问题真的要命了。再弄不出来就要挨批了。跪求正解,请高人指点 举报  打印  推荐  IE收藏夹 
       本主题类别:     
     jn02164920 帅哥哟,离线,有人找我吗?
      
      
      等级:大一新生
      文章:0
      积分:53
      门派:XML.ORG.CN
      注册:2006/7/20

    姓名:(无权查看)
    城市:(无权查看)
    院校:(无权查看)
    给jn02164920发送一个短消息 把jn02164920加入好友 查看jn02164920的个人资料 搜索jn02164920在『 DOM/SAX/XPath 』的所有贴子 引用回复这个贴子 回复这个贴子 查看jn02164920的博客楼主
    发贴心情 [求助]这问题真的要命了。再弄不出来就要挨批了。跪求正解,请高人指点

    哪位高手动动手帮帮小弟。小弟感激不尽。日后有机会当面报答。小弟在北京。

    这个是XML文件。现在就想取其中的《year》,《month》(specialdays的和legaldays属性里的),《specialday 》中间的那几个1,2,3。5.....就想取这三个字段的值。现在有一个问题。
    <?xml version="1.0" encoding="UTF-8"?>
    <freedaysdefines>
     <freedaysdefine>
      <year>2006</year>
      <specialdays>
       <specialday month="1">1,2,3,5</specialday>
       <specialday month="2">1,2,3,5</specialday>
       <specialday month="3">1,2,3,5</specialday>
      </specialdays>
      <legaldays>
       <legalday month="2">2,3</legalday>
       <legalday month="3">2,3</legalday>
       <legalday month="4">2,3</legalday>
      </legaldays>
      <freeofweek>0,6</freeofweek>
     </freedaysdefine>
      <freedaysdefine>
      <year>2666</year>
      <specialdays>
       <specialday month="2">5,6,7,8</specialday>
      </specialdays>
      <legaldays>
       <legalday month="10">1,2,3</legalday>
      </legaldays>
      <freeofweek>0,6</freeofweek>
     </freedaysdefine>
    </freedaysdefines>


    这个问题就是我用DOM4j来解析文件。我举个简单点的例子。我现在就想取其中的年这个字段
    我写了下面这个方法  public Collection readXmlSpecialDays(String s) {
       ArrayList al = null;
       try {
       al = new ArrayList();
        SAXReader reader = new SAXReader();
        Document document = reader.read(new File(s));
        Element root = document.getRootElement();
        Iterator measureIter = root.elementIterator("freedaysdefine");
        while (measureIter.hasNext()) {
         Element measure = (Element) measureIter.next();
         ForXmlPO fp = new ForXmlPO();
         //从这开始取年
         fp.setYear(measure.selectSingleNode("//freedaysdefine/year").getText());
      System.out.println("1--->"+measure.selectSingleNode("//freedaysdefine/year").getText());
         al.add(fp);
        }
        
       } catch (Exception e) {
        e.printStackTrace();
        
       }
       return al;
      }
    但是每次取到的结果都是两个2006。也就是说第二个字段值没取到。这是为什么啊?!
    跪求高手指点!


       收藏   分享  
    顶(0)
      




    点击查看用户来源及管理<br>发贴IP:*.*.*.* 2006/7/21 23:35:00
     
     SATOKO2006 帅哥哟,离线,有人找我吗?
      
      威望:1
      等级:大三暑假(ITELS考了7分!)
      文章:164
      积分:950
      门派:XML.ORG.CN
      注册:2005/12/5

    姓名:(无权查看)
    城市:(无权查看)
    院校:(无权查看)
    给SATOKO2006发送一个短消息 把SATOKO2006加入好友 查看SATOKO2006的个人资料 搜索SATOKO2006在『 DOM/SAX/XPath 』的所有贴子 引用回复这个贴子 回复这个贴子 查看SATOKO2006的博客2
    发贴心情 
    嗯,好久没能XML解析了,研究研究

    ----------------------------------------------
    MasterXML

    点击查看用户来源及管理<br>发贴IP:*.*.*.* 2006/7/23 17:05:00
     
     SATOKO2006 帅哥哟,离线,有人找我吗?
      
      威望:1
      等级:大三暑假(ITELS考了7分!)
      文章:164
      积分:950
      门派:XML.ORG.CN
      注册:2005/12/5

    姓名:(无权查看)
    城市:(无权查看)
    院校:(无权查看)
    给SATOKO2006发送一个短消息 把SATOKO2006加入好友 查看SATOKO2006的个人资料 搜索SATOKO2006在『 DOM/SAX/XPath 』的所有贴子 引用回复这个贴子 回复这个贴子 查看SATOKO2006的博客3
    发贴心情 
    呵呵,知道了,XPath写成"//freedaysdefine[2]/year"就可以取第二个year了

    ----------------------------------------------
    MasterXML

    点击查看用户来源及管理<br>发贴IP:*.*.*.* 2006/7/23 17:20:00
     
     hwljerry 帅哥哟,离线,有人找我吗?
      
      
      等级:大一新生
      文章:2
      积分:82
      门派:XML.ORG.CN
      注册:2006/7/24

    姓名:(无权查看)
    城市:(无权查看)
    院校:(无权查看)
    给hwljerry发送一个短消息 把hwljerry加入好友 查看hwljerry的个人资料 搜索hwljerry在『 DOM/SAX/XPath 』的所有贴子 引用回复这个贴子 回复这个贴子 查看hwljerry的博客4
    发贴心情 
    selectSingleNode不是只查单个吗,
    有selectNodes这个函数吗。试试看有没。
    点击查看用户来源及管理<br>发贴IP:*.*.*.* 2006/7/24 20:56:00
     
     GoogleAdSense
      
      
      等级:大一新生
      文章:1
      积分:50
      门派:无门无派
      院校:未填写
      注册:2007-01-01
    给Google AdSense发送一个短消息 把Google AdSense加入好友 查看Google AdSense的个人资料 搜索Google AdSense在『 DOM/SAX/XPath 』的所有贴子 访问Google AdSense的主页 引用回复这个贴子 回复这个贴子 查看Google AdSense的博客广告
    2024/5/19 22:36:48

    本主题贴数4,分页: [1]

    管理选项修改tag | 锁定 | 解锁 | 提升 | 删除 | 移动 | 固顶 | 总固顶 | 奖励 | 惩罚 | 发布公告
    W3C Contributing Supporter! W 3 C h i n a ( since 2003 ) 旗 下 站 点
    苏ICP备05006046号《全国人大常委会关于维护互联网安全的决定》《计算机信息网络国际联网安全保护管理办法》
    62.500ms