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

相关文章
|
19小时前
|
XML Web App开发 JavaScript
XML DOM 解析器
XML解析器是浏览器内置工具,用于将XML转换为JavaScript可操作的XML DOM对象,允许遍历、修改节点。大多数现代浏览器支持这一功能。以下JS代码示例展示了如何加载XML文档"books.xml"
|
1天前
|
XML JavaScript 前端开发
XML DOM 节点信息
XML DOM提供nodeName、nodeValue和nodeType属性来揭示节点详情。一个JavaScript示例展示了如何运用这些属性:loadXMLDoc函数加载XML文件"books.xml",然后通过nodeName获取根元素名,用nodeValue提取文本节点的内容。
|
2天前
|
XML Web App开发 JavaScript
XML DOM - 导航节点
在XML DOM中,导航节点涉及利用parentNode、childNodes、firstChild、lastChild、nextSibling和previousSibling属性来遍历节点树。不同浏览器对空文本节点处理不一致,可能导致导航问题。为解决此问题,可以使用get_nextSibling函数,它检查并跳过非元素类型的空文本节点,确保在IE和Firefox等浏览器中得到一致的结果。该函数循环遍历直到找到下一个元素节点。
|
2天前
|
XML JavaScript 数据格式
XML DOM 浏览器差异
不同浏览器对XML DOM解析处理存在差异,尤其是在处理空白和换行方面。当XML文档中包含换行和空格时,Internet Explorer不会将这些视为文本节点,而其他浏览器则会。例如,一个简单的XML文档在各子节点间有空格和换行,IE会识别为4个子节点,而其他浏览器则识别为9个。示例代码通过加载XML文件并输出子节点数量来展示这一差异。
|
3天前
|
XML JavaScript 前端开发
XML DOM 遍历节点树
该示例展示了如何遍历XML文档的节点树。通过DOMParser解析XML字符串得到xmlDoc,然后遍历根节点的子节点,显示每个节点的名称及其文本值。输出结果为:"title: Everyday Italian", "author: Giada De Laurentiis", "year: 2005"。代码使用JavaScript实现,循环遍历并更新HTML元素`<p id="demo"></p>`的内容。
|
4天前
|
JavaScript 前端开发 容器
js操作dom元素
js操作dom元素
12 0
|
4天前
|
XML JavaScript 数据格式
XML DOM 节点列表
`getElementsByTagName()` 和 `childNodes` 返回 XML DOM 中的节点列表,表现为按顺序排列的节点集合。节点通过 0 开始的索引访问。例如,以下代码加载 "books.xml",获取所有 `<title>` 元素的节点列表,然后提取第一个 `<title>` 的文本内容:`xmlDoc.getElementsByTagName("title")[0].childNodes[0].nodeValue`,结果为 "Everyday Italian"。
|
6天前
|
XML JavaScript 前端开发
XML DOM 节点信息
XML DOM 节点详解:nodeName、nodeValue 和 nodeType 属性用于获取和操作节点信息。示例展示如何加载XML文件,如books.xml,通过loadXMLDoc函数。nodeName获取元素节点名,nodeValue用于获取或设置文本节点内容,nodeType显示节点类型(如元素:1,属性:2,文本:3,注释:8,文档:9)。每个节点都是可访问和操作的对象,包含方法和属性。
|
6天前
|
XML JavaScript 前端开发
XML DOM 节点信息
XML DOM中的每个节点都是一个具有方法和属性的对象,可通过JavaScript操作。关键属性有:nodeName(定义节点名称,如元素、属性或#text)、nodeValue(提供节点值,如文本或属性值)和nodeType。元素节点的nodeName等于标签名,属性节点的nodeName是属性名。文本节点的nodeValue是其文本内容,而文档节点的nodeName是"#document"。示例代码演示了如何获取第一个<title>元素的文本值。
|
8天前
|
XML 存储 JavaScript
XML DOM - 访问节点
使用DOM,可以访问XML文档的每个节点。访问方法包括:通过getElementsByTagName(),遍历节点树和导航节点关系。getElementsByTagName()返回一个Node List,它是节点数组,可用于按索引访问元素,如`x[2]`获取第三个<title>元素。后续章节将进一步探讨Node List。