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,如需转载请自行联系原作者

相关文章
|
1月前
|
JavaScript 前端开发
JavaScript操作DOM元素
JavaScript操作DOM元素
12 1
|
1月前
|
JavaScript 前端开发
如何使用 JavaScript 操作 DOM?
如何使用 JavaScript 操作 DOM?
13 0
|
1月前
|
移动开发 前端开发 JavaScript
编程笔记 html5&css&js 005 网页上都有哪内容、形式和操作
编程笔记 html5&css&js 005 网页上都有哪内容、形式和操作
|
2月前
|
JavaScript 数据处理
JS 取整,取余操作
JS 取整,取余操作
|
3月前
|
前端开发 JavaScript Java
【面试题】说说 JavaScript数组常见的操作 (20个)
【面试题】说说 JavaScript数组常见的操作 (20个)
|
3月前
|
存储 JavaScript
JS中数组的操作
JS中数组的操作
|
4月前
|
JavaScript 前端开发 安全
JavaScript DOM 操作:解释一下 `innerHTML` 和 `textContent` 的区别。
JavaScript DOM 操作:解释一下 `innerHTML` 和 `textContent` 的区别。
42 1
|
2天前
|
JavaScript 前端开发 UED
深入解析JavaScript原生操作DOM技术
【4月更文挑战第22天】本文深入探讨JavaScript原生DOM操作技术,包括使用`getElement*`方法和CSS选择器获取元素,借助`createElement`与`appendChild`动态创建及插入元素,修改元素内容、属性和样式,以及删除元素。通过掌握这些技术,开发者能实现页面动态交互,但应注意避免过度操作DOM以优化性能和用户体验。
|
9天前
|
存储 JavaScript 前端开发
JavaScript DOM 操作:解释一下 cookie、sessionStorage 和 localStorage 的区别。
Cookie是服务器发送至客户端的文本信息,会随每个请求发送回服务器,适合控制会话状态但可能暴露隐私。SessionStorage仅在当前会话中存储数据,关闭浏览器后清除,适合临时存储如登录状态。LocalStorage则持久保存数据,即使关闭浏览器也不会清除,适用于存储长期设置。三种方式各有侧重,应按需求选择。
15 0
|
9天前
|
JavaScript 前端开发 安全
JavaScript DOM 操作:解释一下浏览器的同源策略。
**同源策略**是浏览器安全基石,它阻止脚本跨不同协议、域名或端口访问资源,防止恶意行为。例如,HTTP页面无法直接用JS获取HTTPS页面内容。**CORS**允许跨域请求,但需服务器配合设置,通过`document.domain`属性可配置,但仍受限于服务器配置。
14 4