如何将XML节点转换为字符串?
我有这样一个xml字符串如下:
str = " " function returnNodeAsStr(str) { ... ... } if(returnNodeAsStr(str) == '') { alert("ok"); }
如何编写一个函数来将节点作为字符串?(使警报执行)
试试这个:
var str = ' '; function returnNodeAsStr(str) { var xmlDoc = $.parseXML(str), xml = $( xmlDoc ), item=[], results=[]; $(xml).find('Node').each(function() { item.push(" "); results.push(item.join(" ")); item=[]; }); return results; } var result=returnNodeAsStr(str); console.log(result); /* [" ", " ", " ", " "] */ if(result[0] == ' ') { alert("ok"); }
尝试使用这样的正则表达式
var str=' '; var match = str.match(/ /g); if(match.length){ for(var i=0; i< match.length; i++) alert(match[i]); }
不需要额外的依赖项
PS你甚至可以通过regexp获得个人的attrs值,尽管它会变得相当毛茸茸
你可以试试这个:
var str = ' '; var nodeArray = str.replace(/<\/?myxml>/g,'') //removing root-> '' tag .replace(/\/>\s*,<') //replacing '/><' with '/>,<' .split(','); //spliting by comma -------^
在此之后,您将拥有一个Node
字符串数组,您可以将这些元素与字符串进行比较,例如:
if( nodeArray[0] == ' '){ //Do something }