`
huangzhaorongit
  • 浏览: 26199 次
  • 性别: Icon_minigender_1
  • 来自: 长沙
社区版块
存档分类
最新评论

DOM对象的使用

阅读更多

生成DOM文档对象的方法
var xmlDoc=new ActiveXObject("Msxml2.DOMDocument.4.0");
  生成XML文档对象xmlDoc,xmlDoc中包含XML文档中所有元素和节点

xmlDoc.async=false;
装载XML文档完毕后才开始处理下一步骤

xmlDoc.load("1.xml");
将XML文档装载到文档对象中,在内存中形成文档对象树

DOM对象

1.IXMLDOMDocument/DOMDocument
2.IXMLDOMNode
3.IXMLDOMNodeList
4.IXMLDOMParseError
5.IXMLDOMAttribute
6.IXMLDOMDocumentType

1.IXMLDOMDocument/DOMDocument
表示DOM树的最顶层节点
属性
async--是否可以异步下载(可读写属性)
attributes--返回节点的属性列表
baseName--返回节点的标记名称
childNodes--子节点列表
documentElement--返回文档的根元素(可读写属性)
方法
appendChild(在当前节点的最后增加一个新的子节点)

createNode(根据条件生成一个新节点)
createnode(type,name,namespaceURL)

IXMLDOMDocument/DOMDocument示例


var  oNodeMap,str,oList,item;
         var  xmlDoc = new  ActiveXObject( " Msxml2.DOMDocument.4.0 " );
        xmlDoc.async = false ;
        xmlDoc.load( " candidate.xml " );
         if (xmlDoc.parseError != 0 )
            document.writeln(xmlDoc.parseError.reason + " <br> " );
         else
           {
            oNodeMap = xmlDoc.documentElement.attributes;
            document.write(oNodeMap.length + " <br> " );
        str = xmlDoc.documentElement.childNodes[ 1 ].baseName;
            document.write(str + " <br> " );
            oList = xmlDoc.documentElement.childNodes;
             for ( var  i = 0 ;i < oList.length;i ++ )
                document.write(oList[i].xml + " <br> " );
        }


< script language = " javascript " >
         var  xmlDoc = new  ActiveXObject( " Msxml2.DOMDocument.4.0 " );
        xmlDoc.async = false ;
        xmlDoc.load( " candidate.xml " );
         var  root = xmlDoc.documentElement;
        document.write(root.xml);
        document.write( " <br>--------------------------<br> " );
         var  node = xmlDoc.createNode( 1 , " 创建节点 " , "" );
        node.text = " 这是新创建得节点 " ;
        root.appendChild(node);
        window.alert(root.xml);
        document.write(root.xml);
     </ script >

IXMLDOMNode

属性
lastChild--返回最后一个子节点
nextSibling--指向同一层的下一个兄弟节点
xml--用XML格式表现该节点和所有子节点的内容
方法
selectNodes--根据匹配模式操作来返回符合要求的节点集合
selectSingleNode--根据匹配模式操作来返回符合要求的第一个节点
IXMLDOMNode是DOM的基本对象,所有节点都可以看作是一个IXMLDOMNode对象,所有其它DOM对象接口都是继承它的属性和方法。


< html >
    < body >
        < script  language ="javascript" > 
         var  xmlDoc = new  ActiveXObject( " Msxml2.DOMDocument.4.0 " );
        xmlDoc.async = false ;
        xmlDoc.load( " candidate.xml " );
         var  root = xmlDoc.documentElement;
         var  node = root.lastChild;
        window.alert(node.xml);
         var  firstNode = root.childNodes[ 0 ];
         var  nextNode = firstNode.nextSibling;
        window.alert(nextNode.xml);
     </ script >
    </ body >
</ html >

< html >
    < body >
        < script  language ="javascript" > 
         var  xmlDoc = new  ActiveXObject( " Msxml2.DOMDocument.4.0 " );
        xmlDoc.async = false ;
        xmlDoc.load( " candidate.xml " );
         var  root = xmlDoc.documentElement;
         var  node = root.selectNodes( " PERSON/NAME " );
        window.alert(node.length);
     </ script >
    </ body >
</ html >

IXMLDOMNodeList

属性
length--接口对象中包含的节点数量。
方法
nextNode--返回节点集合中下一个节点。
节点的集合
IXMLDOMParseError
属性
line--错误所在行号
linepos--错误在行中的位置
reason--发生错误的原因
srcText--错误行文本
用此接口捕获XML文档中存在的错误(包括XML结构完整错误及有效性错误)

IXMLDOMParseError示例

< html >
    < body >
        < script  language ="javascript" > 
         var  xmlDoc = new  ActiveXObject( " Msxml2.DOMDocument.4.0 " );
        xmlDoc.async = false ;
        xmlDoc.load( " errorxml.xml " );
         if (xmlDoc.parseError.errorCode != 0 )
          {
    document.writeln( " 错误所在的行号: "   +  xmlDoc.parseError.line  +   " <br> " );
    document.writeln( " 错误所在的列号: "   +  xmlDoc.parseError.linepos  +   " <br> " );
    document.writeln( " 错误原因: "   +  xmlDoc.parseError.reason  +   " <br> " );
    document.writeln( " 错误行文本: "   +  xmlDoc.parseError.srcText  +   " <br> " );
        }
     </ script >
    </ body >
</ html >


IXMLDOMAttribute
表示元素的相关属性
属性
nodeType--返回节点类型
ownerDocument--返回该节点的根节点
text--返回节点的文本和子节点树
value--返回属性的值
xml--返回当前节点及其所有子节点的内容
方法
appendChild
selectSingleNode
IDOMAttribute示例

<html>
<body>
   <script language="javascript">
        var xmlDoc=new ActiveXObject("Msxml2.DOMDocument.4.0");
        xmlDoc.async=false;
        xmlDoc.load("candidate.xml");
        var node=xmlDoc.documentElement.childNodes[0];
document.write("节点类型:"+node.nodeType+"<br>");
document.write("根元素节点名称:" +node.ownerDocument.documentElement.tagName + "<br>");
document.write ("当前节点的属性值:" + node.attributes[0].value + "<br>");
document.write("当前节点及其子节点所包含的文本:" + node.text + "<br>");
    </script>
</body>
</html>
IXMLDOMDocumentType

属性
entities--返回实体集,包括内部和外部DTD定义的
name--返回文档类型的名字
nodeTypeString--返回节点类型的字符串表示
方法
removeChild--从返回的子节点集中删除特定子节点,并返回它
replaceChild--从返回的子节点集中用新节点替换特定老节点



IXMLDOMDocumentType示例

<html>
    <body>
    <script language="javascript">
        var xmlDoc=new ActiveXObject("Msxml2.DOMDocument.4.0");
        xmlDoc.async=false;
        xmlDoc.load("candidate.xml");
        var root=xmlDoc.documentElement;
        var node=root.childNodes[1];
        window.alert("当前节点的类型为:" + node.childNodes[0].nodeTypeString);
        var element=xmlDoc.createElement("Resume");
        element.text="添加的新元素";
        root.childNodes[1].replaceChild(element,node.childNodes[0]);
        window.alert(node.xml);
    </script>
   </body>
</html>


上示例用到的XML文件
<?xml version="1.0"?>
<PEOPLE  id="fdsfsd"  ds="sdfsd">
    <PERSON PERSONID="E01">
        <NAME>Tony Blair</NAME>
        <ADDRESS>10 Downing Street, London, UK</ADDRESS>
        <TEL>(061) 98765</TEL><FAX>(061) 98765</FAX>
        <EMAIL>blair@everywhere.com</EMAIL>
    </PERSON>
    <PERSON PERSONID="E02">
        <NAME>Bill Clinton</NAME>
        <ADDRESS>White House, USA</ADDRESS>
        <TEL>(001) 6400 98765</TEL><FAX>(001) 6400 98765</FAX>
        <EMAIL>bill@everywhere.com</EMAIL>
    </PERSON>
    <PERSON PERSONID="E03">
        <NAME>Tom Cruise</NAME>
        <ADDRESS>57 Jumbo Street, New York, USA</ADDRESS>
        <TEL>(001) 4500 67859</TEL><FAX>(001) 4500 67859</FAX>
        <EMAIL>cruise@everywhere.com</EMAIL>
    </PERSON>
    <PERSON PERSONID="E04">
        <NAME>Linda Goodman</NAME>
        <ADDRESS>78 Crax Lane, London, UK</ADDRESS>
        <TEL>(061) 54 56789</TEL><FAX>(061) 54 56789</FAX>
        <EMAIL>linda@everywhere.com</EMAIL>
    </PERSON>
</PEOPLE>    
分享到:
评论

相关推荐

    jQuery对象和DOM对象使用说明

    ### jQuery对象和DOM对象使用说明 #### 1. jQuery对象和DOM对象的区别 在前端开发中,尤其是在使用jQuery库进行操作时,开发者经常会遇到jQuery对象和DOM对象的概念。首先需要明确的是,这两者都用于表示页面中的...

    DOM — DOM对象继承关系1

    DOM 中的对象继承关系是指不同类型的 DOM 对象之间的继承关系,了解这些继承关系对开发者理解和使用 DOM 对象非常重要。 在 DOM 中,所有对象都继承自 EventTarget 对象,EventTarget 对象提供了事件处理的基本方法...

    BOM和DOM对象的简单介绍

    BOM和DOM对象的简单介绍 在 JavaScript 中,BOM( Browser Object Model)和 DOM(Document Object Model)是两个重要的对象模型。BOM 主要关注浏览器窗口和屏幕的信息,而 DOM 则是文档对象的树形结构,从而描述了...

    对象介绍(全局、基本、DOM对象)TXT阅读文档

    对象介绍,全局,基本,DOM对象,TXT阅读文档 对象介绍,全局,基本,DOM对象,TXT阅读文档 对象介绍,全局,基本,DOM对象,TXT阅读文档 对象介绍,全局,基本,DOM对象,TXT阅读文档 对象介绍,全局,基本,DOM...

    jquery对象和dom对象.doc

    比如,我们常用的选择器`$("#msg")`返回的就是一个jQuery对象,它可能包含一个或多个DOM元素,但这个对象并不能直接使用DOM对象的方法,如`innerHTML`。 转换的关键在于,jQuery对象可以调用jQuery库提供的方法,如...

    jquery dom对象 详细介绍1

    - **jQuery对象**:通过jQuery的选择器或者`$(...)`包裹的元素集合,提供了丰富的jQuery方法,但不能直接使用DOM对象的方法。 **关系**:jQuery对象可以转换为DOM对象,反之亦然。例如,`$(element)[0]`可以将...

    XMLDOM对象方法手册

    在JavaScript中,可以使用`ActiveXObject`来创建XMLDOM对象,例如: ```javascript var xmlDoc = new ActiveXObject("Microsoft.XMLDOM"); ``` 这将创建一个空的XMLDOM实例,可以用于加载XML文档。 2. **加载...

    XMLDOM对象方法中文手册chm

    这个"XMLDOM对象方法中文手册chm"提供了关于XML DOM在中文环境下的详细指南,对于理解和应用XML DOM技术至关重要。 1. **XML DOM基本概念** - DOM是一种与平台和语言无关的接口,它将XML文档解析为一个树形结构,...

    document 对象.html-javascript中DOM对象内容

    document 对象.html-javascript中DOM对象内容

    jquery对象和dom对象

    **jQuery对象和DOM对象** 在JavaScript中,DOM(Document Object Model)对象是浏览器解析HTML或XML文档后生成的树状结构,它允许我们通过编程方式访问和操作网页元素。而jQuery对象则是jQuery库中用于封装DOM对象...

    DOM对象DOM对象DOM对象.doc

    DOM,全称Document Object Model,是一种标准,它允许程序员和脚本语言如JavaScript与HTML或XML文档进行交互。DOM将整个文档表示为一个树形结构,每个节点代表文档的一...理解和熟练使用DOM对象是Web开发中的基础技能。

    javascript 原生Dom对象和jQuery对象的联系和区别

    因此,可以将jQuery对象转换为DOM对象,使用`.get()`或`[index]`方法,如`var domElement = $('div').get(0)`。反之,也可以通过`$(domElement)`将DOM对象转换为jQuery对象。 区别在于,原生DOM对象提供了底层的、...

    javaScript 生成DOM 对象(html标签).rar

    生成DOM对象主要有两种方式:一是使用`document.createElement()`方法,二是利用innerHTML属性。`document.createElement()`允许我们创建指定标签名的新元素,例如: ```javascript var newElement = document....

    BOM对象和DOM对象

    **BOM对象与DOM对象详解** 在Web开发中,BOM(Browser Object Model)对象和DOM(Document Object Model)对象是两个至关重要的概念,它们分别处理浏览器交互和HTML文档结构的解析。 **一、BOM对象** BOM,浏览器...

    javascript转换字符串为dom对象(字符串动态创建dom).docx

    在 JavaScript 中,动态创建标准的 DOM 对象通常使用 `var obj = document.createElement('div');`,然后再给 `obj` 设置一些属性。但是,在实际使用过程中,有些人可能会想,要是能这样创建标准的 DOM 对象就好了伪...

    XMLDOM对象手册

    W3School 为您提供完整的 XML DOM 参考手册,其中包括所有的 XML DOM 对象以及它们的属性和方法。 在对象的属性及方法的描述页面中,提供了关于属性和方法的详细信息,包括定义用法、语法,以及实例代码。 此外,...

    038HTML-DOM对象.doc

    HTML-DOM 对象 HTML-DOM 对象是指在 HTML ...Navigator 对象包含的属性描述了正在使用的浏览器,可以使用这些属性进行平台专用的配置。Navigator 对象的实例是唯一的,可以用 Window 对象的 navigator 属性来引用它。

    DOM对象模型

    **DOM对象模型** DOM,全称为“Document Object Model”,即文档对象模型,是W3C组织定义的一个标准,用于表示HTML或XML文档的一种结构化表示方式。它将文档解析为一个由节点组成的树形结构,使得JavaScript或其他...

    jQuery简介、jQuery使用详解、DOM对象与jQuery对象的转换与区别

    本篇文章将深入探讨jQuery的基本概念、使用方法以及DOM对象与jQuery对象之间的转换与区别。 首先,我们从jQuery的简介开始。jQuery是由John Resig于2006年创建的,其目标是“write less, do more”。jQuery的核心...

Global site tag (gtag.js) - Google Analytics