上一篇介绍了XML如何加载到JavaScript解析器。 这一篇介绍加载到解析器后,JavaScript是如何访问节点的。 在详细介绍如何使用上面的方法前,我们先来了解下节点的主要属性。 documentElement 属性:XML 文档的根节点。 nodeName 属性:节点的名称(只读)。 nodeValue 属性:节点的值。 nodeType 属性:节点的类型。 childNodes 属性:返回子节点集合。 parentNode 属性:返回父节点。 firstChild 属性:返回第一个子节点。 lastChild 属性:返回最后一个子节点。 nextSibling 属性:返回下一个兄弟(同级)节点。 previousSibling 属性:返回前一个兄弟(同级)节点。 nodeName 属性nodeName 属性规定节点的名称。
nodeValue 属性nodeValue 属性规定节点的值。
nodeType 属性nodeType 属性规定节点的类型。nodeType 是只读的。 最重要的节点类型是:
您可以通过四种方法来访问节点:
1、通过getElementsById() 方法。 用法: var xNode = xmlDoc.getElementsById('ID') ; 解释:这个方法我想大家已经很熟悉了。就是如果XML里有个id='ID'的Node,那个就返回这个Node节点,否则返回null。 在得到这个Node后,就可以用上面的属性进行访问了。 ps: xmlDoc的定义可以在上一篇文章中找到。 2、通过getElementsByTagName() 方法。 用法:var arrNodes=xmlDoc.getElementsByTagName('TagName') ; 解释:这个方法是根据tagname返回一个数组。此方法最常用。 例子1: //xml 内容: JavaScript操作XML (一) var arrNodes=xmlDoc.getElementsByTagName("title"); for (i=0;i<arrNodes.length;i++) { alert(arrNodes[i].childNodes[0].nodeValue); } 例子2: // 获取第一个 <title> 元素节点的文本节点。注意,元素内的文本是元素的子节点,叫文本节点。 var xNode=xmlDoc.getElementsByTagName("title")[0].childNodes[0]; alert(xNode.nodeValue); // 文本节点的值 。output "Everyday Italian" 3、通过循环(遍历)节点树。 这个方法没什么好说的,就是用for循环结合childNodes遍历所以的节点。 例子: x=xmlDoc.documentElement.childNodes; for (i=0;i<x.length;i++)//只遍历了一层 { document.write(x[i].nodeName); document.write("<br />"); } 4、通过节点的关系在节点树中导航。 这个方法是根据当前节点得到parentNode 、firstChild、lastChild、nextSibling 、previousSibling 来移动。 x=xmlDoc.getElementsByTagName("book")[0].childNodes; y=xmlDoc.getElementsByTagName("book")[0].firstChild; for (i=0;i<x.length;i++) { document.write(y.nodeName + "<br />"); y=y.nextSibling; } |
JavaScript操作XML(三)
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.