JavaScript操作Xml

简介:

  如果你做Web开发,那就难免要与JavaScript打交道。而JavaScript作为一种浏览器脚本,以其强大的功能及方便的操作,已经赢得了全部浏览器的支持。在前面我介绍了如何使用Sql操作Xml使用C#操作Xml,这里我就简单的介绍一下使用JavaScript来操作Xml数据。

学习任何知识的最佳途径莫过于实践。这里我们从一个简单的例子出发,来讲解如何使用JavaScript来操作Xml格式数据的。由于我的水平有限,不正确或者不合理的地方还请指正。

1、创建文档。

大家都知道,Xml是一种基于对象的语言,也就是说,在JavaScript中,很多东西也都是面向对象的。可以使用new关键字创建一个对象。当然,创建一个Xml文档也不例外。var xmlDoc = new ActiveXObject("Msxml2.DOMDocument.3.0");

2、添加节点。

其实,使用JavaScript操作Xml,和使用C#操作Xml有着几乎相同的方法。我们可以使用C#中一样的方法appendChild()方法来实现添加XML节点。说到这里你该问如何创建Xml节点了,其实还是跟C#相同的方法 var root = xmlDoc.createElement("root"); 将这个root节点添加到xmlDoc这个文档中就很简单了: xmlDoc.appendChild(root); 现在,xmlDoc中就有了一个根节点了。需要注意的是,一个Xml文档只能有一个根节点。其它的节点个数不限。

3、得到节点。

查询节点的方法就很多了。可以使用一个一个节点遍历,也可以使用selectSingleNode()方法或者selectNodes()方法。而得到一个文档根节点的方法则是通过属性documentElement来得到。那么得到xmlDoc的根节点就是 var rootNode = xmlDoc.documentElement;现在我们向root节点中添加一个book节点:var book = xmlDoc.createElement("book"); root.appendChild(bookNode); 那么得到book节点就是:var bookNode = root.selectSingleNode("book");或者var bookNode = root.selectNodes("book")[0]; 或者var bookNode = root.firstNode;你可以使用任何一种方法来得到自己想要的节点。

4、删除节点。

其实这个功能使用量是非常少的。你可以使用removeChild()方法来操作。这里不再详细说明。

5、未提到的内容。

对Xml的操作还远不止这些。还有对属性的增删改查的操作, 对节点值的操作。详细的说明请参照下面的这张表,这个表格来源与MSDN:

async

Specifies if asynchronous download is permitted. Read/write.

attributes

Contains the list of attributes for this node. Read-only.

baseName

Returns the base name for the name qualified with the namespace. Read-only.

childNodes

Contains a node list containing the children nodes. Read-only.

dataType

Specifies the data type for this node. Read/write.

definition

Returns the definition of the node in the document type definition (DTD) or schema. Read-only.

doctype

Contains the document type node that specifies the DTD for this document. Read-only.

documentElement

Contains the root element of the document. Read/write.

firstChild

Contains the first child of this node. Read-only.

implementation

Contains the IXMLDOMImplementation object for the document. Read-only.

lastChild

Returns the last child node. Read-only.

namespaceURI

Returns the Uniform Resource Identifier (URI) for the namespace. Read-only.

nextSibling

Contains the next sibling of the node in the parent's child list. Read-only.

nodeName

Returns the qualified name for attribute, document type, element, entity, or notation nodes. Returns a fixed string for all other node types. Read-only.

nodeType

Specifies the XML Document Object Model (DOM) node type, which determines valid values and whether the node can have child nodes. Read-only.

nodeTypedValue

Contains this node's value expressed in its defined data type. Read/write.

nodeTypeString

Returns the node type in string form. Read-only.

nodeValue

Contains the text associated with the node. Read/write.

ondataavailable

Specifies the event handler for the ondataavailable event. Write-only.

onreadystatechange

Specifies the event handler to be called when the readyState property changes. Write-only.

ontransformnode

Specifies the event handler for the ontransformnode event. Write-only.

ownerDocument

Returns the root of the document that contains this node. Read-only.

parentNode

Contains the parent node. Read-only.

parsed

Indicates the parsed status of the node and child nodes. Read-only.

parseError

Returns an IXMLDOMParseError object that contains information about the last parsing error. Read-only.

prefix

Returns the namespace prefix. Read-only.

preserveWhiteSpace

Specifies the default white space handling. Read/write.

previousSibling

Contains the previous sibling of the node in the parent's child list. Read-only.

readyState

Indicates the current state of the XML document. Read-only.

resolveExternals

Indicates whether external definitions (resolvable namespaces, DTD external subsets, and external entity references) are to be resolved at parse time, independent of validation. Read/write.

specified

Indicates whether the node (usually an attribute) is explicitly specified or derived from a default value in the DTD or schema. Read-only.

text

Represents the text content of the node or the concatenated text representing the node and its descendants. Read/write.

url

Returns the URL for the last loaded XML document. Read-only.

validateOnParse

Indicates whether the parser should validate this document. Read/write.

xml

Contains the XML representation of the node and all its descendants. Read-only.

abort

Aborts an asynchronous download in progress.

appendChild

Appends a new child as the last child of this node.

cloneNode

Clones a new node.

createAttribute

Creates a new attribute with the specified name.

createCDATASection

Creates a CDATA section node that contains the supplied data.

createComment

Creates a comment node that contains the supplied data.

createDocumentFragment

Creates an empty IXMLDOMDocumentFragment object.

createElement

Creates an element node using the specified name.

createEntityReference

Creates a new EntityReference object.

createNode

Creates a node using the supplied type, name, and namespace.

createProcessingInstruction

Creates a processing instruction node that contains the supplied target and data.

createTextNode

Creates a text node that contains the supplied data.

getElementsByTagName

Returns a collection of elements that have the specified name.

hasChildNodes

Provides a fast way to determine whether a node has children.

insertBefore

Inserts a child node to the left of the specified node or at the end of the list.

load

Loads an XML document from the specified location.

loadXML

Loads an XML document using the supplied string.

nodeFromID

Returns the node that matches the ID attribute.

removeChild

Removes the specified child node from the list of children and returns it.

replaceChild

Replaces the specified old child node with the supplied new child node.

save

Saves an XML document to the specified location.

selectNodes

Applies the specified pattern-matching operation to this node's context and returns the list of matching nodes as IXMLDOMNodeList.

selectSingleNode

Applies the specified pattern-matching operation to this node's context and returns the first matching node.

transformNode

Processes this node and its children using the supplied XSLT style sheet and returns the resulting transformation.

transformNodeToObject

Processes this node and its children using the supplied XSLT style sheet and returns the resulting transformation in the supplied object.




本文转自齐师傅博客园博客,原文链接:http://www.cnblogs.com/youring2/archive/2008/12/16/1356198.html,如需转载请自行联系原作者

相关文章
|
5月前
|
前端开发 JavaScript 数据处理
在JavaScript中,异步函数是指那些不会立即执行完毕,而是会在未来的某个时间点(比如某个操作完成后,或者某个事件触发后)才完成其执行的函数
【6月更文挑战第15天】JavaScript中的异步函数用于处理非同步任务,如网络请求或定时操作。它们使用回调、Promise或async/await。
52 7
|
5月前
|
JSON 前端开发 JavaScript
在JavaScript中,异步编程是一种处理非阻塞操作(如网络请求、文件读写等)的重要技术
【6月更文挑战第12天】JavaScript中的异步编程通过Promise和async/await处理非阻塞操作。Promise管理异步操作的三种状态,防止回调地狱,支持链式调用和并行处理。async/await是ES8引入的语法糖,使异步代码更像同步代码,提高可读性。两者结合使用能更高效地处理复杂异步场景。
38 3
|
5月前
|
JavaScript 前端开发 UED
JavaScript基础-DOM操作:查找、创建、修改
【6月更文挑战第12天】本文介绍了DOM基础,包括查找元素(getElementById、getElementsByClassName等)、创建新节点(createElement、createTextNode)和修改节点(innerText、innerHTML、setAttribute等)。强调了易错点,如ID唯一性、性能考量和安全问题,并提供了代码示例。熟练掌握DOM操作对前端开发至关重要,但应注意性能优化,适时使用框架或库。
58 2
JavaScript基础-DOM操作:查找、创建、修改
|
4月前
|
JavaScript 前端开发 索引
JavaScript编码之路 【JavaScript之操作数组、字符串方法汇总】(三)
JavaScript编码之路 【JavaScript之操作数组、字符串方法汇总】(三)
40 1
|
4月前
|
存储 JavaScript 前端开发
js/javascript 操作字符串【全】(含常用的操作字符串的lodash)
js/javascript 操作字符串【全】(含常用的操作字符串的lodash)
44 1
|
5月前
|
JavaScript vr&ar 数据库
技术笔记:Js获取当前日期时间及其它操作
技术笔记:Js获取当前日期时间及其它操作
129 1
|
5月前
|
存储 前端开发 JavaScript
回调函数是JavaScript中处理异步编程的常见模式,常用于事件驱动和I/O操作。
【6月更文挑战第27天】回调函数是JavaScript中处理异步编程的常见模式,常用于事件驱动和I/O操作。它作为参数传递给其他函数,在特定条件满足或任务完成后被调用。例如,`asyncOperation`函数接受回调函数`handleResult`,模拟异步操作后,调用`handleResult`传递结果。这样,当异步任务完成时,`handleResult`负责处理结果。
37 1
|
5月前
|
JavaScript 前端开发 安全
安全开发-JS应用&原生开发&JQuery库&Ajax技术&加密编码库&断点调试&逆向分析&元素属性操作
安全开发-JS应用&原生开发&JQuery库&Ajax技术&加密编码库&断点调试&逆向分析&元素属性操作
|
5月前
|
存储 JavaScript 前端开发
JavaScript中的数组是核心数据结构,用于存储和操作序列数据
【6月更文挑战第22天】JavaScript中的数组是核心数据结构,用于存储和操作序列数据。创建数组可以使用字面量`[]`或`new Array()`。访问元素通过索引,如`myArray[0]`,修改同样如此。常见方法包括:`push()`添加元素至末尾,`pop()`移除末尾元素,`shift()`移除首元素,`unshift()`添加到开头,`join()`连接为字符串,`slice()`提取子数组,`splice()`进行删除、替换,`indexOf()`查找元素位置,`sort()`排序数组。还有其他如`reverse()`、`concat()`等方法。
130 2
|
5月前
|
JavaScript 前端开发 安全
【JavaScript 】DOM操作快速入门
【JavaScript 】DOM操作快速入门
69 2
下一篇
无影云桌面