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

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

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

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

    我从网上找了一个DOM解析XML的程序,程序基本理解了,就是没有测试成功,我不知道XML应该放在什么地方才可以读取,希望大家给指点一下,我把代码拿出来共享一下:


    package com.lly.test;

    import javax.xml.parsers.*;
    import java.io.*;
    import org.w3c.dom.*;
    import org.xml.sax.*;
    /*
    *                XML范例
    * <?xml version="1.0" encoding="gb2312"?>
      
      <books>
      
          <book email="zhoujunhui">
          
              <name>rjzjh</name>
              
              <price>jjjjjj</price>
          
          </book>
      
      </books>
    */

    public class DomParseXml
    {
        public DomParseXml()
        {
            DocumentBuilderFactory objDBF = DocumentBuilderFactory.newInstance() ;
            
            try
            {
                DocumentBuilder objDB = objDBF.newDocumentBuilder();
                InputStream objIS = new FileInputStream( "bin/libary.xml" );
                Document objD = objDB.parse( objIS );

                Element objE = objD.getDocumentElement();
                NodeList objNL = objE.getChildNodes() ;  // 节点的集合
                
                if ( objNL != null )
                {
                    for ( int i =0  ; i < objNL.getLength() ; i ++ )
                    {
                        Node objN = objNL.item( i );
                        
                        if ( objN.getNodeType() == Node.ELEMENT_NODE )
                        {
                            String strEmail = objN.getAttributes().getNamedItem( "email" ).getNodeValue();
                            System.out.println( "email--->" + strEmail );
                            
                            for ( Node objSN = objN.getFirstChild() ; objSN != null ; objSN = objSN.getNextSibling() )
                            {
                                if ( objSN.getNodeType() == Node.ELEMENT_NODE )
                                {
                                    if ( objSN.getNodeName().equals( "name" ))
                                    {
                                        String strName = objSN.getNodeValue() ;
                                        
                                        String strNName = objSN.getFirstChild().getNodeValue();
                                        
                                        System.out.println( "strName--->" + strName );
                                        System.out.println( "strNName--->" + strNName );
                                    }
                                    
                                    if (objSN.getNodeName().equals(  "price"  ))
                                    {
                                        String strPrice = objSN.getNodeValue() ;
                                        System.out.println( "strPrice-->" + strPrice );
                                    }
                                }
                            }
                        }
                    }
                }
            }
            catch ( ParserConfigurationException e )
            {
                e.printStackTrace();
            }
            catch(IOException e)
            {
                e.printStackTrace();
            }
            catch(SAXException e)
            {
                e.printStackTrace();
            }
        }
        
        public static void main(String args[])
        {
            new DomParseXml();
        }
        
    }


       收藏   分享  
    顶(0)
      




    点击查看用户来源及管理<br>发贴IP:*.*.*.* 2007/8/15 17:56:00
     
     linlingyue 帅哥哟,离线,有人找我吗?
      
      
      等级:大一新生
      文章:7
      积分:83
      门派:XML.ORG.CN
      注册:2007/1/22

    姓名:(无权查看)
    城市:(无权查看)
    院校:(无权查看)
    给linlingyue发送一个短消息 把linlingyue加入好友 查看linlingyue的个人资料 搜索linlingyue在『 DOM/SAX/XPath 』的所有贴子 引用回复这个贴子 回复这个贴子 查看linlingyue的博客2
    发贴心情 
    给指点一下吧
    点击查看用户来源及管理<br>发贴IP:*.*.*.* 2007/8/17 15:55:00
     
     fangel2000 帅哥哟,离线,有人找我吗?
      
      
      头衔:w3china第一水王
      等级:大四寒假(收到Microsoft的Offer啦)
      文章:283
      积分:1503
      门派:W3CHINA.ORG
      注册:2006/5/30

    姓名:(无权查看)
    城市:(无权查看)
    院校:(无权查看)
    给fangel2000发送一个短消息 把fangel2000加入好友 查看fangel2000的个人资料 搜索fangel2000在『 DOM/SAX/XPath 』的所有贴子 引用回复这个贴子 回复这个贴子 查看fangel2000的博客3
    发贴心情 
    我是用Eclipse建立工程的,然后在工程中建立类
    你将XML文件保存后存放到工程文件夹下即可。
    你的代码是InputStream objIS = new FileInputStream( "bin/libary.xml" );
    可以放到bin目录下
    点击查看用户来源及管理<br>发贴IP:*.*.*.* 2007/10/31 18:58:00
     
     GoogleAdSense
      
      
      等级:大一新生
      文章:1
      积分:50
      门派:无门无派
      院校:未填写
      注册:2007-01-01
    给Google AdSense发送一个短消息 把Google AdSense加入好友 查看Google AdSense的个人资料 搜索Google AdSense在『 DOM/SAX/XPath 』的所有贴子 访问Google AdSense的主页 引用回复这个贴子 回复这个贴子 查看Google AdSense的博客广告
    2025/9/19 4:24:57

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

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