如何将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 }