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

    >> 本版讨论DOM, SAX, XPath等。
    [返回] 中文XML论坛 - 专业的XML技术讨论区XML.ORG.CN讨论区 - XML技术『 DOM/SAX/XPath 』 → SAX一下问题 查看新帖用户列表

      发表一个新主题  发表一个新投票  回复主题  (订阅本版) 您是本帖的第 8089 个阅读者浏览上一篇主题  刷新本主题   树形显示贴子 浏览下一篇主题
     * 贴子主题: SAX一下问题 举报  打印  推荐  IE收藏夹 
       本主题类别:     
     CSP15740 帅哥哟,离线,有人找我吗?
      
      
      等级:大一新生
      文章:1
      积分:52
      门派:XML.ORG.CN
      注册:2010/12/3

    姓名:(无权查看)
    城市:(无权查看)
    院校:(无权查看)
    给CSP15740发送一个短消息 把CSP15740加入好友 查看CSP15740的个人资料 搜索CSP15740在『 DOM/SAX/XPath 』的所有贴子 引用回复这个贴子 回复这个贴子 查看CSP15740的博客楼主
    发贴心情 SAX一下问题

    import javax.xml.parsers.*;
    import org.xml.sax.helpers.*;
    import org.xml.sax.*;
    import java.io.*;
    public class sax_3 {

         public static void main(String args[])
      {
        try {
              SAXParserFactory factory=SAXParserFactory.newInstance() ;
              factory.setNamespaceAware (true);
              SAXParser  saxParser=factory.newSAXParser();
              MyHandler handler=new MyHandler();
              saxParser.parse(new File("1.xml"),handler);
            }
        catch(Exception e)
         { System.out.println(e);}
      }
    }
    class MyHandler extends DefaultHandler
    {
       boolean isComputabled=false,math=false,english=false;
       int count_1=0,count_2=0,count_3=0;
        float mathSum=0,englishSum=0,sum=0;
       
       public void characters(char[] ch,int start,int length)
       {
         
         String text=new String(ch,start,length);
         if(isComputabled==true)
           {
              String str=text.trim();
              if(str.length()>0)
              {
               int d=Integer.parseInt(str);
               sum=sum+d;
               if(math)
                 mathSum=mathSum+d;
               if(english)
                 englishSum=englishSum+d;     
               isComputabled=false;
              }
           }
         System.out.print(text);
         
       }
       public void startElement(String uri,String localName,
                               String qName,Attributes atts)
       {
        String str=null;
        if(uri.length()>0)
           str=uri;
        System.out.print("<"+qName);
         if(qName.endsWith("月薪"))
         {
          count_1 ++;
          isComputabled=true;
         }     
            
         
        for(int k=0;k<atts.getLength();k++)
        {
            
           System.out.print(" "+atts.getLocalName(k)+"= ");
           System.out.print("\""+atts.getValue(k)+"\"");
           if(atts.getValue(k).startsWith("科长"))
           {
            math=true;
            count_2 ++;
           }
           if(atts.getValue(k).startsWith("科员"))
           {
            english=true;
            count_3 ++;
           }
        }
          System.out.print(">");
          
          
       }
       public void endElement(String uri,String localName,String qName)
       {
          System.out.print("</"+qName+">");
           
       }
        public void endDocument()
       {
           System.out.println(" ");
           System.out.println("人员总数:"+count_1);
           System.out.println("科长人数:"+count_2);
           System.out.println("科长人数:"+count_3);
           System.out.println("工资总额:"+sum);
           System.out.println("科长工资总额:"+mathSum);
           System.out.println("科员工资总额:"+englishSum);
          
       }
      
    }


    为什么这样解析 工资总额和科长工资总额都相同啊 怎么处理啊


       收藏   分享  
    顶(0)
      




    点击查看用户来源及管理<br>发贴IP:*.*.*.* 2010/12/3 18:58:00
     
     probeXml 帅哥哟,离线,有人找我吗?
      
      
      等级:大一新生
      文章:1
      积分:54
      门派:XML.ORG.CN
      注册:2011/3/23

    姓名:(无权查看)
    城市:(无权查看)
    院校:(无权查看)
    给probeXml发送一个短消息 把probeXml加入好友 查看probeXml的个人资料 搜索probeXml在『 DOM/SAX/XPath 』的所有贴子 引用回复这个贴子 回复这个贴子 查看probeXml的博客2
    发贴心情 
    把要解析的XML文件粘贴出来看看
    这样看不需要想想力
    点击查看用户来源及管理<br>发贴IP:*.*.*.* 2011/3/23 7:41:00
     
     GoogleAdSense
      
      
      等级:大一新生
      文章:1
      积分:50
      门派:无门无派
      院校:未填写
      注册:2007-01-01
    给Google AdSense发送一个短消息 把Google AdSense加入好友 查看Google AdSense的个人资料 搜索Google AdSense在『 DOM/SAX/XPath 』的所有贴子 访问Google AdSense的主页 引用回复这个贴子 回复这个贴子 查看Google AdSense的博客广告
    2024/4/27 9:13:15

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

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