$ .parseXML()不使用没有根节点的xml字符串

时间:2011-12-28 09:21:54

标签: jquery xml

以下是我的代码

 var str = "<single><n>Q1</n><v></v><m></m></single>
            <single><n>Q2</n><v>y</v><m></m></single>
            <single><n>Q3</n><v></v><m>y</m></single>";  
 // ! I gave this string value in three lines just for readability purpose

 var xmlDoc = $.parseXML( str );

 var xml = $(xmlDoc);

 alert(xml.find('single').size());  

但这不起作用,请检查this小提琴

2 个答案:

答案 0 :(得分:4)

查看浏览器的错误控制台:您会看到类似

的内容
  

未捕获无效的xml

添加root element会解决问题:

 <data>
 <single><n>Q1</n><v></v><m></m></single>
 <single><n>Q2</n><v>y</v><m></m></single>
 <single><n>Q3</n><v></v><m>y</m></single>
 </data>

答案 1 :(得分:1)

检查这个小提琴:http://jsfiddle.net/GeWZP/4/

您缺少ROOT节点。 XML确实需要Root节点,您可以从该ROOT节点生成子节点。

var str = "<root>
               <single><n>Q1</n><v></v><m></m></single>
               <single><n>Q2</n><v>y</v><m></m></single>
               <single><n>Q3</n><v></v><m>y</m></single>
           </root>";