开发者社区> 老朱教授> 正文
阿里云
为了无法计算的价值
打开APP
阿里云APP内打开

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

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
javascript 中ondragstart ondrag实现拖动界面元素效果 .
function showpos()  {     document.all.x.value = event.clientX;     document.all.y.value = event.
593 0
零起点 Asp.net中使用javaScript实现前后台方法的相互调用
零起点 Asp.net中使用javaScript实现前后台方法的相互调用 一、前台调用后台的方法: 1、在后台编写你要调用到前台的方法,如下:   public string str()//javaScript函数中执行C#代码中的函数 { retur...
582 0
在ASP.NET中利JavaScript实现控件的聚焦(转)
  在Windows应用程序中很容易控制控件的聚焦,但是在ASP.NET中并没有提供这样的功能,但是我们同样可以实现这样的功能,这篇文章就讲述了通过JaveScript实现在页面上某一特定控件获得焦点的功能。
426 0
前端之美:9个很酷的基于 CSS3 和 JavaScript 实现的效果
  这篇文章向大家分享9个很酷的挑选自 DemoStudio 的 CSS3 和 JavaScript 实现的精美效果。DemoStudio 是 Mozilla Developer Network(MDN)用于展示一些非常优秀的 CSS3 和 JavaScript 效果的网站,Google 也有一个 Chrome Experiment,用于展示最新的 Web 技术应用。
664 0
深入理解JavaScript系列(18):面向对象编程之ECMAScript实现
http://www.cnblogs.com/TomXu/archive/2012/02/06/2330609.html 介绍 本章是关于ECMAScript面向对象实现的第2篇,第1篇我们讨论的是概论和CEMAScript的比较,如果你还没有读第1篇,在进行本章之前,我强烈建议你先读一下第1篇,因为本篇实在太长了(35页)。
857 0
+关注
文章
问答
文章排行榜
最热
最新
相关电子书
更多
Javascript中的对象
立即下载
JavaScript 语言在引擎级别的执行过程
立即下载
Javascript中的函数
立即下载