js怎么获取xml里某个节点的值并输出

JavaScript018

js怎么获取xml里某个节点的值并输出,第1张

1、用 childNodes 属性,按顺序取

实现过程:首先创建一个 xml 对象,然后载入 xml 文件,再根据待取节点父节点在 xml 文件中的序号和本身的序号,确定待取节点的位置,最后返回待取节点的值。

//pId 待取节点父节点序号

//cId 待取节点序号

function getXmlNodeValue(pId, cId) {

    var xmlDoc = new ActiveXObject("Microsoft.XMLDOM")

    xmlDoc.async = false

xmlDoc.load("employeeInfo.xml")

var nodes = xmlDoc.documentElement.childNodes[pId].childNodes[cId]return nodes.childNodes[0].text

}

调用方法:alert(getXmlNodeValue(1, 2))

2、用 for 循环来取

实现过程:首先创建一个 ie 支持的 xml 对象,如果发生异常,是创建一个 FireFox 支持的空 xml 对象并返回空;然后载入 xml 文件,如要发生异常也返回空;最后,通过 for 循环遍历查找与传入的节点值相同的节点,找到后返回属于该节点的属性值。

//nodeValue 待取节点的所属节点值

function getXmlNodeValueFor(nodeValue){    

    var xmlDoc 

  try { 

    //创建一个 ie 支持的 XML 文档对象 

    xmlDoc = new ActiveXObject("Microsoft.XMLDOM")

  }catch(e){

      try{

      //创建FireFox空的XML文档对象

      xmlDoc=document.implementation.createDocument("","",null)

}catch(e){

  alert(e.message)

  return ""

}

}

xmlDoc.async = false

try { 

    xmlDoc.load("employeeInfo.xml")

}catch(e){

    alert(e.message)

    return ""

}

var xd=xmlDoc.documentElement.childNodes

if(xd==null) 

    return ""

 var tempValue

for(var i=0i<xd.lengthi++){

    if(xd[i].childNodes[0].childNodes[0].nodeValue==nodeValue)        tempValue=xd[i].childNodes[2].childNodes[0].nodeValue

}

return tempValue

}

调用方法:alert(getXmlNodeValueFor("王佳琳"))

selectSingleNode 传回第一个符合样式的节点。

 

  作 用

传回第一个符合样式的节点。  

基本语法

objDocumentNode = xmlDocumentNode.selectSingleNode(patternString);

 

说 明

patternString 为一包含XSL 样式的字符串。此方法会传回第一个符合的节点对象,如果没有符合的节点,则传回null。

 

范 例

objNode = xmlDoc.selectSingleNode("EMAIL/BCC");

alert(objNode.xml);

=============================================================

selectNodes 方法

 

  作 用

传回所有符合提供样式(pattern)的节点。  

基本语法

objDocumentNodeList = xmlDocumentNode.selectNodes(patternString);

 

说 明

patternString 为一包含XSL 样式的字符串。此方法会传回节点清单对象,包含符合样式的节点。如果没有符合的节点,则传回空的清单列表。

 

范 例

objNodeList=xmlDoc.selectNodes("/");

alert(objNodeList.item(0).xml);

希望这个资料有帮助

使用jQuery框架操作HTML DOM是一件极其便捷的事情,如下操作即可获取相应节点的数据,id和名字(下文中引用“$(this)”表示一个jQuery对象):

获取节点标签内容数据: $(this).html( )

获取表单组件中的值:$(this).val()

获取节点中的文本内容(例如textarea): $(this).text()

获取节点的id:$(this).attr("id")

获取节点的名字: $(this).attr("name")