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

    >> 本版讨论DOM, SAX, XPath等。
    [返回] 中文XML论坛 - 专业的XML技术讨论区XML.ORG.CN讨论区 - XML技术『 DOM/SAX/XPath 』 → Xml document object module(DOM)学习总结 查看新帖用户列表

      发表一个新主题  发表一个新投票  回复主题  (订阅本版) 您是本帖的第 13286 个阅读者浏览上一篇主题  刷新本主题   平板显示贴子 浏览下一篇主题
     * 贴子主题: Xml document object module(DOM)学习总结 举报  打印  推荐  IE收藏夹 
       本主题类别:     
     世世无忧 帅哥哟,离线,有人找我吗?
      
      
      等级:大一(高数修炼中)
      文章:9
      积分:136
      门派:XML.ORG.CN
      注册:2006/2/25

    姓名:(无权查看)
    城市:(无权查看)
    院校:(无权查看)
    给世世无忧发送一个短消息 把世世无忧加入好友 查看世世无忧的个人资料 搜索世世无忧在『 DOM/SAX/XPath 』的所有贴子 引用回复这个贴子 回复这个贴子 查看世世无忧的博客楼主
    发贴心情 Xml document object module(DOM)学习总结

    以下是我学DOM时的一些总结,发给大家看看,也许对初学者有帮助。
    在 [URL=http://blog.sina.com.cn/u/1182216592]我的blog[/URL] 里也有一些别的,欢迎光临!
    ---------------------------------------------
    Xml document object module(DOM)
    文档对像模型是一个独立于作业平台、独立于语系的接口。DOM是相关于文档的一系列对象列表,通过操作这些对象,可以对xml和html文档进行读取、遍历、修改、添加和删除。
    IE实现了dom level 1。且对其进行了功能扩展,提供了其它接口来支持xsl、xsl partterns、命名空间和数据类型。
    在DOM中最基本的对象是Node,从Node中又派生出了几种具体的节点类型。对应于xml中各种相应的节点。
    在使用DOM加载XML文档后,在内存中形成一个节点树,由XML各种节点形成各种对象模型组成。这些对象包括相应的属性、方法,以对数据进行操作。
    几个基本的对象:
    1. document
    这个对象参照到整个文档,是对文档操作的入口。
    2. element 和attribute
    这是文档中的某一部分的映射,节点的层次,反映了文档的层次。
    3. text
    这是element或属性节点的内容,不再包括子元素。
    DOM中的所有节点,都是从NODE节点继承而来的,它包括一些基本的属性与方法,通过这些属性和方法,可以对文档遍历,还可以取得节点的名称、取值和类型。它将XML中的所有项目看成节点:元素、属性、文本、注释、处理指令等。

    文档的创建和加载:

    首先,创建一个document对象,对于不同的语言,创建的语法不同:
    VB script:
     set doc = createobject("microsoft.xmldom")
    js script:
     var doc = new activeXobject("microsoft.xmldom")
    创建一个document对象之后,用两个方法来加载XML文档。load()用来加载xml文档,loadxml()方法用来xml文档片段。
    文档的遍历:
     得到xml文档中的节点主要有两个方法:nodeFromID() 和 getelementsbytagname()
     如果要得到文档的根节点,用documentElement属性就可以参照到根节点。
     任何一个子节点的ownerDocument属性,可以参照到document节点,即文档本身。
     节点的parentNode属性,参照节点的父节点。
     节点的childNodes属性,参照节点的所有子节点。
     
    节点的创建:
     可以用document对象来创建文档中的各种类型的子节点,通常的函数形式是:createElement()、createTextNode()这样的形式。然后
    在需要加入节点的父节点上调用appendChild()函数,或调用insertBefore()函数在相应的位置加入节点。
    节点的删除与替换:
     首先,通过需要删除的节点的parentNode属性,来调用它的父节点,然后调用父节点的removeChild()方法,来删除子节点;或调用父
    节点的replaceChild()方法,来替换某个子节点为新节点。

    InodeList接口:
     这个接口由nodeList对象来实现,这是一个有顺序节点的集合。其内容或者是一个节点的子节点,使用节点的selectNodes()方法;或
    者是某个函数的返回值:如getNodebyName()。其集合内容是动态的,比如其内容是一个节点的子节点,然后又对子节点进行删除、增加等操作
    ,所做的改动会自动反映到nodelist集合,不需要重表取得该集合。它有两个重要的属性:length,取得集合的长度,item(index)取得集合
    index处的节点对象。

    namedNodeMap对象:
     这个对象是一个命名节点的无顺序的集合,常用在属性节点中,它可以用index来访问相应位置上的节点对象,也可以使用名称来进行
    各种操作,如:nextNode()、reset()、getNamedItem()、item()、removeNamedItem()、setNamedItem()。他也有length属性,访问集合的长
    度。从0开始。可以使用节点的attributes属性来得到一个nameNodeMap对象。


       收藏   分享  
    顶(0)
      




    ----------------------------------------------
    我的blog <a href='http://blog.sina.com.cn/u/1182216592' style='color:red'>http://blog.sina.com.cn/u/1182216592</a>,欢迎光临。

    点击查看用户来源及管理<br>发贴IP:*.*.*.* 2006/3/1 23:23:00
     
     GoogleAdSense
      
      
      等级:大一新生
      文章:1
      积分:50
      门派:无门无派
      院校:未填写
      注册:2007-01-01
    给Google AdSense发送一个短消息 把Google AdSense加入好友 查看Google AdSense的个人资料 搜索Google AdSense在『 DOM/SAX/XPath 』的所有贴子 访问Google AdSense的主页 引用回复这个贴子 回复这个贴子 查看Google AdSense的博客广告
    2024/4/23 23:37:04

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

     *树形目录 (最近20个回帖) 顶端 
    主题:  Xml document object module(DOM)学习总结(2991字) - 世世无忧,2006年3月1日
        回复:  学习了!(8字) - zuhause,2006年7月28日
        回复:  先顶哈,回家后来问点问题(24字) - ydiandian,2006年7月7日
        回复:  学到了点函数,具体的体现还没有多少概念!望多给些例子(52字) - bruceshen,2006年6月16日
        回复:  我没太明白你的意思(44字) - 世世无忧,2006年3月3日
        回复:  世世兄,关于XML的问题,在你读取XML文件并转换为DOM之后,你怎么把DOM的信息转换为自己的对..(108字) - ezysky,2006年3月3日

    W3C Contributing Supporter! W 3 C h i n a ( since 2003 ) 旗 下 站 点
    苏ICP备05006046号《全国人大常委会关于维护互联网安全的决定》《计算机信息网络国际联网安全保护管理办法》
    46.875ms