XML DOM学习笔记(JS)

简介:


1. 加载XML文档:

var xmlDom  =   new  ActiveXObject( " MSXML2.DOMDocument " );
xmlDom.load(
" filename.xml " );  // 加载XML文件

 

2. 访问节点:

var root  =  xmlDom.documentElement; // 获取根节点
var nodeList  =  root.childNodes;   // 获取节点的所有子节点
var node  =  nodeList[i];
var name 
=  node.attributes[ 0 ].value; // 获取节点的第一个属性的值
var xmlElement  =  node.xml; // 包含起始标签+内容+结束标签
var content  =  xmlElement.childNodes[ 0 ].xml; // 若xmlElement不包括子节点,则可以获得xmlElement标签中的内容;若其包括子节点,则获得第一个子节点标签及其内容;

 

3. 添加节点:

var newElement  =  xmlDom.createElement( " element " );
//  创建attribute属性,并添加到element节点上
var attribute  =  xmlDom.createAttribute( " attribute " );
attribute.value 
=   " attrubuteValue " ;
newElement.setAttributeNode(name);

//  创建subElement子节点,并添加到newElement节点上
var subElement  =  xmlDom.createElement( " subElement " );
newElement.text 
=   " SubElementContent " ;
newElement.appendChild(subElement);
// 将newElement添加到根节点下
root.appendChild(newElement);

 

4. 删除节点:

var node  =  root.selectSingleNode( " xpath " );
if  (node  !=   null )
    root.removeChild(node);

 

5. 保存节点:

xmlDom.save( " driver:\\dir\filename.xml " ); // 保存XML文件

 

6. Xpath几个例子:

authors
authors
/ author
authors
/ author / name
authors
/*/name
authors/author/*           //*为通配符
authors/author[nationality]/name     //用“[]”来限制只选取拥有nationality子节点的节点
authors/author[nationality='Russian']/name //进一步限制子节点nationality的值为'Russian'
authors/author[@period="classical"]   //选取属性period为"classical"的节点
authors/author/@period        //选取节点的属性


7. 介绍Xpath的两个网址:
http://www.zvon.org/xxl/XPathTutorial/General_chi/examples.html
http://www.w3school.com.cn/xpath/index.asp

8. 一个解析Xpath的工具:

该工具的下载地址:http://www.axisebusiness.com/nleghari/visualxpath.zip


本文转自Silent Void博客园博客,原文链接:http://www.cnblogs.com/happyhippy/archive/2007/07/24/829001.html,如需转载请自行联系原作者

相关文章
|
4天前
|
XML JavaScript 数据格式
XML DOM - 导航节点
在XML DOM中,节点导航涉及利用如parentNode、childNodes、firstChild、lastChild、nextSibling和previousSibling等属性。通过这些关系,可以访问和操作XML文档结构。例如,给定一个XML文档,可以使用getElementsByTagName找到特定元素,并通过parentNode属性获取该元素的父节点。在提供的实例中,代码加载"books.xml",选取第一个<book>元素,并打印出其父节点的名称。
|
4天前
|
XML JavaScript 数据格式
XML DOM 遍历节点树
该文介绍了如何遍历XML文档的DOM节点树。通过循环节点,可以访问并处理每个元素,如提取值。示例代码展示了加载XML字符串到`xmlDoc`后,遍历根元素的所有子节点,打印出节点名及文本值,例如:"title: Everyday Italian"、"author: Giada De Laurentiis"和"year: 2005"。
|
4天前
|
XML JavaScript 前端开发
XML DOM - 属性和方法
XML DOM通过属性(如nodeName、nodeValue、parentNode、childNodes和attributes)和方法提供编程接口,让开发者用JavaScript等语言以节点方式交互XML。属性描述节点信息,方法执行操作,如删除节点。
|
4天前
|
XML JavaScript 前端开发
XML DOM 节点信息
XML DOM提供nodeName、nodeValue和nodeType属性来揭示节点详情。一个JavaScript示例展示了如何运用这些属性:loadXMLDoc函数加载XML文件"books.xml",然后通过nodeName获取根元素名,用nodeValue提取文本节点的内容。
|
4天前
|
XML JavaScript 数据格式
XML DOM 浏览器差异
不同浏览器对XML DOM解析处理存在差异,尤其是在处理空白和换行方面。当XML文档中包含换行和空格时,Internet Explorer不会将这些视为文本节点,而其他浏览器则会。例如,一个简单的XML文档在各子节点间有空格和换行,IE会识别为4个子节点,而其他浏览器则识别为9个。示例代码通过加载XML文件并输出子节点数量来展示这一差异。
|
1天前
|
XML JavaScript 数据格式
XML DOM 浏览器差异
现代浏览器虽都支持W3C DOM规范,但在处理XML时存在差异,尤其是对待节点间的空白和换行。Internet Explorer不将这些空白视为文本节点,而其他浏览器则会。例如,一个XML文档中的CR/LF和空格可能在不同浏览器中导致子节点计数不同。在示例中,IE会显示4个子节点,而其他浏览器显示9个。
|
1天前
|
XML JavaScript 数据格式
XML DOM 遍历节点树
该文介绍了如何遍历XML文档的节点树。通过循环移动,可以访问并处理每个节点,例如提取元素值。提供的实例展示了如何加载XML到DOM,获取根元素的子节点,并打印其名称和值,以“title: Everyday Italian, author: Giada De Laurentiis, year: 2005”为例。
|
2天前
|
XML Web App开发 JavaScript
XML DOM 解析器
浏览器内置的XML解析器将XML转换为JavaScript可操作的DOM对象。通过XMLHttpRequest加载XML文档,如`books.xml`,创建HTTP请求并获取响应,然后将响应解析为XML DOM,以便用JavaScript访问和处理。示例代码展示了在不同浏览器中如何使用XMLHttpRequest加载XML。
|
3天前
|
XML Web App开发 JavaScript
XML DOM 解析器
XML解析器将XML转换为JavaScript可操作的DOM对象,使得浏览器(大多内置此解析器)能读取和处理XML。通过XMLHttpRequest对象,可以加载XML文档,如示例所示,创建HTTP请求获取"books.xml",然后将响应转化为DOM对象以进行访问和操作。
|
4天前
|
XML 存储 JavaScript
XML DOM - 访问节点
`getElementsByTagName()` 方法用于访问 XML 文档中的节点,返回一个节点列表(Node List),类似数组。可通过循环或导航节点关系来遍历和访问这些节点。示例代码加载 "books.xml" 到 xmlDoc,将结果存入变量 x。