无效的XML错误

时间:2012-06-12 05:31:19

标签: jquery xml parsing

我有以下代码:

<!DOCTYPE html>
<html>
<head>
<script src="http://code.jquery.com/jquery-latest.js"></script>
</head>
<body>

<p id="someElement"></p>
<p id="anotherElement"></p>



<script>
var xml = "<count>1</count><ticketID id='2'><incidentUrl>3</incidentUrl></ticketID>",
xmlDoc = $.parseXML( xml ),
$xml = $( xmlDoc ),
$title = $xml.find( "count" );

/* append "RSS Title" to #someElement */
$( "#someElement" ).append( $title.text() );

/* change the title to "XML Title" */
$title.text( "XML Title" );

/* append "XML Title" to #anotherElement */
$( "#anotherElement" ).append( $title.text() );
</script>

</body>
</html>

以上代码 - 产生错误:XML无效

但是,当我将var xml更改为:      var xml =&lt;计数&gt; 1&lt; / count&gt; 它没有任何错误。

为什么会这样?

谢谢!

3 个答案:

答案 0 :(得分:3)

XML文档中不能包含两个根元素。

请注意,根据official syntax,只能有一个“顶级”或“根”元素。

您的示例在顶级都有count和ticketId,这是不允许的。

答案 1 :(得分:1)

您的XML有多个根元素

<count>1</count><ticketID id='2'><incidentUrl>3</incidentUrl></ticketID>

将其包装在单个容器根元素中,它应该可以正常工作

<container><count>1</count><ticketID id='2'><incidentUrl>3</incidentUrl></ticketID></container>

答案 2 :(得分:1)

jQuery.parseXML()将字符串解析为XML文档。您的问题。

  

但是,当我将var xml更改为:var xml = 1 时,它没有任何错误。

     

这是为什么?

那是因为您的数据已经是XML格式,不需要解析。只需继续下一行代码即可。

$xml = $( xmlDoc ),
$title = $xml.find( "count" );

无需解析XML。
希望对您有帮助