`

JAVASCRIPT中使用DOM操作XML文档

阅读更多
< script language = " JavaScript " >
<!--
var  doc  =   new  ActiveXObject( " Msxml2.DOMDocument " );  // ie5.5+,CreateObject("Microsoft.XMLDOM") 


// 加载文档
//
doc.load("b.xml");

// 创建文件头
var  p  =  doc.createProcessingInstruction( " xml " , " version='1.0'  encoding='gb2312' " );

    
// 添加文件头
    doc.appendChild(p);

// 用于直接加载时获得根接点
//
var root = doc.documentElement;

// 两种方式创建根接点
//
    var root = doc.createElement("students");
     var  root  =  doc.createNode( 1 , " students " , "" );

    
// 创建子接点
     var  n  =  doc.createNode( 1 , " ttyp " , "" );

        
// 指定子接点文本
         // n.text = " this is a test";
    
    
// 创建孙接点
     var  o  =  doc.createElement( " sex " );
        o.text 
=   " " ;     // 指定其文本

    
// 创建属性
     var  r  =  doc.createAttribute( " id " );
        r.value
= " test " ;

        
// 添加属性
        n.setAttributeNode(r);

    
// 创建第二个属性    
     var  r1  =  doc.createAttribute( " class " );
        r1.value
= " tt " ;
        
        
// 添加属性
        n.setAttributeNode(r1);

        
// 删除第二个属性
        n.removeAttribute( " class " );

        
// 添加孙接点
        n.appendChild(o);

        
// 添加文本接点
        n.appendChild(doc.createTextNode( " this is a text node. " ));

        
// 添加注释
        n.appendChild(doc.createComment( " this is a comment\n " ));
    
        
// 添加子接点
        root.appendChild(n);
    
    
// 复制接点
     var  m  =  n.cloneNode( true );

        root.appendChild(m);
        
        
// 删除接点
        root.removeChild(root.childNodes( 0 ));

    
// 创建数据段
     var  c  =  doc.createCDATASection( " this is a cdata " );
        c.text 
=   " hi,cdata " ;
        
// 添加数据段
        root.appendChild(c);
    
    
// 添加根接点
    doc.appendChild(root);

    
// 查找接点
     var  a  =  doc.getElementsByTagName( " ttyp " );
    
// var a = doc.selectNodes("//ttyp");

    
// 显示改接点的属性
     for ( var  i =   0 ;i < a.length;i ++ )
    
{
        alert(a[i].xml);
        
for ( var  j = 0 ;j < a[i].attributes.length;j ++ )
        
{
            alert(a[i].attributes[j].name);
        }

    }


    
// 修改节点,利用XPATH定位节点
     var  b  =  doc.selectSingleNode( " //ttyp/sex " );
    b.text 
=   " " ;

    
// alert(doc.xml);

    
// XML保存(需要在服务端,客户端用FSO)
     // doc.save();
    
    
// 查看根接点XML
     if (n)
    
{
        alert(n.ownerDocument.xml);
    }


// -->
</ script >


    在 DOM 眼中, HTML XML 一样是一种树形结构的文档, <html> 是根( root )节点, <head> <title > <body> <html> 的子( children )节点,互相之间是兄弟( sibling )节点; <body> 下面才是子节点 <table> <span> <p> 等等。如下图:
HTML文档结构.jpg
    这个是不是跟
XML 的结构有点相似呢。不同的是, HTML 文档的树形主要包含表示元素、标记的节点和表示文本串的节点。 <!----> <o:p> </o:p>


 HTML
文档的节点

DOM 下, HTML 文档各个节点被视为各种类型的 Node 对象。每个 Node 对象都有自己的属性和方法,利用这些属性和方法可以遍历整个文档树。由于 HTML 文档的复杂性, DOM 定义了 nodeType 来表示节点的类型。这里列出 Node 常用的几种节点类型:

接口

nodeType 常量

nodeType

备注

Element

Node.ELEMENT_NODE

1

元素节点

Text

Node.TEXT_NODE

3

文本节点

Document

Node.DOCUMENT_NODE

9

document

Comment

Node.COMMENT_NODE

8

注释的文本

DocumentFragment

Node.DOCUMENT_FRAGMENT_NODE

11

document 片断

Attr

Node.ATTRIBUTE_NODE

2

节点属性

DOM 树的根节点是个 Document 对象,该对象的 documentElement 属性引用表示文档根元素的 Element 对象(对于 HTML 文档,这个就是 <html> 标记)。 Javascript 操作 HTML 文档的时候, document 即指向整个文档, <body> <table> 等节点类型即为 Element Comment 类型的节点则是指文档的注释。具体节点类型的含义,请参考《 Javascript 权威指南》,在此不赘述。

Document 定义的方法大多数是生产型方法,主要用于创建可以插入文档中的各种类型的节点。常用的 Document 方法有:

方法

描述

createAttribute()

用指定的名字创建新的 Attr 节点。

createComment()

用指定的字符串创建新的 Comment 节点。

createElement()

用指定的标记名创建新的 Element 节点。

createTextNode()

用指定的文本创建新的 TextNode 节点。

getElementById()

返回文档中具有指定 id 属性的 Element 节点。

getElementsByTagName()

返回文档中具有指定标记名的所有 Element 节点。

对于 Element 节点,可以通过调用 getAttribute() setAttribute() removeAttribute() 方法来查询、设置或者删除一个 Element 节点的性质,比如 <table> 标记的 border 属性。下面列出 Element 常用的属性:

属性

描述

tagName

元素的标记名称,比如 <p> 元素为

分享到:
评论

相关推荐

    使用DOM读取XML文件

    DOM(Document Object Model)是处理XML文档的一种主要方式,它将XML文档解析为一个可编程的对象树,允许我们通过JavaScript、Java、Python等语言来操作和访问XML数据。本文将深入探讨如何使用DOM读取XML文件,并...

    Javascript里使用Dom操作Xml_1.docx

    本文将详细介绍如何在JavaScript中使用DOM来操作XML。 首先,我们来看一下XML文件的基本结构。在提供的部分内容中,有一个简单的XML文件示例: ```xml &lt;?xml version="1.0"?&gt; &lt;Name&gt;c++ &lt;Price&gt;20 &lt;k&gt;1 ...

    DOM解析XML文件例子

    在这个例子中,我们将深入探讨如何使用DOM解析XML文件,以理解和掌握XML文档的结构,并进行数据提取、修改和创建。 首先,XML(Extensible Markup Language)是一种标记语言,用于存储和传输数据,具有自描述性和...

    dom读取xml与写入xml

    在IT行业中,DOM(Document Object Model)是一种标准的XML(eXtensible Markup ...在实际应用中,需要注意DOM解析整个XML文档会消耗较多资源,对于大型XML文件,可以考虑使用SAX或StAX等流式解析器作为替代方案。

    使用javascript解析xml文件或xml格式字符串中文WORD版

    javascript中,不论是解析xml文件,还是xml格式的字符串,都是通过DOM对象来进行操作的。希望本文档会给有需要的朋友带来帮助;感兴趣的朋友可以过来看看   资源截图: 资源太大,传百度网盘了,链接...

    DOM解析XML文档

    1. 加载XML文档:首先,解析器读取XML文件并将其转化为内存中的DOM树。这个过程包括验证XML的语法正确性、处理命名空间等。 2. 构建DOM树:解析器按照XML文档的结构创建一个节点树,每个元素、属性、文本、注释等都...

    树型结构(javascript+dom+xml+css)

    JavaScript可以通过解析XML文档来生成树型结构,并且DOM API可以方便地将XML数据映射到DOM节点。 4. CSS(Cascading Style Sheets):CSS用于控制网页的布局和样式。在树型结构中,CSS可以用来定义节点的外观,如...

    DOM解析XML 创建XML

    2. **访问XML节点**:加载XML文档后,我们可以通过DOM API访问和操作XML文档中的各个节点。每个节点都有自己的属性,如`nodeName`、`nodeValue`和`childNodes`等。例如,获取根元素可以这样写: ```javascript var...

    DOMParser解析xml

    DOMParser是JavaScript中处理XML文档的主要工具,它允许我们将XML数据转换为DOM(Document Object Model)对象,从而方便我们通过编程方式访问和操作XML内容。 DOM是一种树型结构,将XML文档中的每个元素、属性和...

    Javascript读取xml文件

    它可以用来处理XML数据,包括读取、解析和操作XML文档。 #### 二、使用JavaScript读取XML文件的方法 ##### 1. 使用`XMLHttpRequest`对象读取XML文件 - **概述**:`XMLHttpRequest`是JavaScript的一个内置对象,...

    DOMProject(使用DOM输出XML)

    本项目,"DOMProject(使用DOM输出XML)",旨在帮助初学者理解和实践如何通过DOM(Document Object Model)模型处理XML文档。 DOM是W3C制定的一种编程接口,它提供了一种结构化的表示XML文档的方式,并允许程序和...

    IE下使用XML DOM解析XML文件(ASP.NET Web)

    总结,IE下的XML DOM解析涉及使用ActiveXObject创建DOM对象,加载XML文件,然后通过DOM API遍历和操作XML结构。在ASP.NET Web环境中,通常需要结合服务器端和客户端代码协同工作,确保数据的正确传输和解析。理解并...

    javascript 操作xml_dom对象整理集合

    在JavaScript中,我们可以使用DOM API来遍历、修改和创建XML文档。 2. **XML解析** 在JavaScript中,有多种方式解析XML文档,例如`DOMParser`和`ActiveXObject`(仅限IE)。`DOMParser`是现代浏览器广泛支持的方法...

    DOM操作XML文档向表格添加数据.rar

    1. **加载XML文档**:使用JavaScript的`XMLHttpRequest`对象或者现代浏览器的`fetch` API来获取XML文件。加载成功后,解析XML为DOM文档。 ```javascript let xhr = new XMLHttpRequest(); xhr.open("GET", ...

    javascript读取XML文件方法

    通过本文介绍的方法,我们可以轻松地使用JavaScript来读取、处理和操作XML文件。这为开发者提供了一个灵活且强大的工具来处理复杂的XML数据,特别是在B/S架构的应用程序中。随着技术的发展,虽然JSON等其他数据格式...

    DOMProject(通过DOM读取XML)

    DOM(Document Object Model)是解析XML文档的一种标准方法,它将XML文档表示为一个树形结构,允许开发人员通过JavaScript或其他编程语言来遍历、修改和操作XML内容。 DOM解析XML的基本步骤如下: 1. **加载XML...

    xml.rar_DOM_XML DOM_dom xml_xml

    例如,JavaScript中使用`document.implementation.createDocument()`方法或`DOMParser`对象来解析XML。 4. **访问节点**:使用DOM API,可以通过节点名称、索引或路径(如XPath)来查找特定节点。例如,`...

    XML_DOM 教程 XML_DOM 教程

    - **JavaScript**:DOM通常与JavaScript一起使用,因为JavaScript是浏览器中实现DOM的主要脚本语言。 **什么是DOM?** DOM定义了一种标准,通过它可以以结构化的方式访问和操作XML文档。它将XML文档转换为一个节点...

    使用DOM解析XML

    ### 使用DOM解析XML #### 一、概述:API在XML...DOM的出现极大地简化了XML文档的处理过程,使得开发者能够以更加高效和统一的方式处理复杂的文档结构,无论是在网页开发还是企业级应用中,DOM都扮演着至关重要的角色。

    JavaScript FSO实现客户端XML文件读写.pdf

    首先,我们需要使用JavaScript的FSO来创建一个File对象,然后使用DOM将XML文档调入内存中。接着,我们可以使用FSO的write方法将内存的内容写入到XML文件中。 在实现客户端XML文件读写的过程中,我们需要注意以下几...

Global site tag (gtag.js) - Google Analytics