js 解析xml 节点值为空时是报没有对象错误

JavaScript010

js 解析xml 节点值为空时是报没有对象错误,第1张

用jquery吧。

var xmlDoc = $(data)

xmlDoc.find("a").each(function(i,o){

alert(i)//你会开f12的话写成console.log(o)也行

alert(o)

})

http://blog.csdn.net/pan_junbiao/article/details/7441003

比自己写简单。

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);

希望这个资料有帮助

function loadXMLDoc(dname)

{

try //Internet Explorer

{

xmlDoc=new ActiveXObject("Microsoft.XMLDOM")

}

catch(e)

{

try //Firefox, Mozilla, Opera, etc.

{

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

}

catch(e) {alert(e.message)}

}

try

{

xmlDoc.async=false

xmlDoc.load(dname)

return(xmlDoc)

}

catch(e) {alert(e.message)}

return(null)

}

xmlDoc=loadXMLDoc("/example/xdom/books.xml")

x=xmlDoc.getElementsByTagName("title")[0].childNodes[0]

x.nodeValue="Easy Cooking"

x=xmlDoc.getElementsByTagName("title")[0].childNodes[0]

txt=x.nodeValue

document.write(txt)