​解析方式一:​


​$(​​​​function​​​​(){​


​var​​​ ​​str=​​​​"<xml><result><NewDataSet><Table><UserName>test1</UserName></Table><Table><UserName>test2</UserName></Table></NewDataSet></result></xml>"​​​​;​


​var​​​ ​​str1=​​​​"<xml><result><NewDataSet><Table1><UserName>test1</UserName></Table1><Table1><UserName>test2</UserName></Table1></NewDataSet></result></xml>"​​​​;​


​$(str).find(​​​​'Table'​​​​).each(​​​​function​​​​(){​


​alert($(​​​​this​​​​).children(​​​​'UserName'​​​​).text());​


​});​


​$(str1).find(​​​​'Table1'​​​​).each(​​​​function​​​​(){​


​alert($(​​​​this​​​​).children(​​​​'UserName'​​​​).text());​


​});​


​});​



Jquery解析XML字符串

执行结果,前两个弹出空(节点不能包含Table,原因不明),后两个弹出正确结果。

原因:




1


2




​alert($(str).html());  ​


​//<result><newdataset><username>test1</username><table></table><username>test2</username><table></table></newdataset></result>​



解析方式二:




1


2


3


4


5


6


7




​$(​​​​function​​​ ​​() {​


​var​​​ ​​str = ​​​​"<xml><result><NewDataSet><Table><UserName>test1</UserName></Table><Table><UserName>test2</UserName></Table></NewDataSet></result></xml>"​​​​;​


​var​​​ ​​a = $.parseXML(str);​


​$(a).find(​​​​'Table'​​​​).each(​​​​function​​​ ​​() {​


​alert($(​​​​this​​​​).children(​​​​'UserName'​​​​).text());​


​});​


​});​