【问题标题】:Invalid XML Error无效的 XML 错误
【发布时间】:2012-06-12 05:31:19
【问题描述】:

我有以下代码:

<!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 = 1 它可以正常工作。

这是为什么?

谢谢!

【问题讨论】:

    标签: jquery xml parsing


    【解决方案1】:

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

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

    您的示例在顶层同时具有 count 和 ticketId,这是不允许的。

    【讨论】:

      【解决方案2】:

      您的 XML 有多个根元素

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

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

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

      【讨论】:

        【解决方案3】:

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

        但是,当我将 var xml 更改为 : var xml = 1 count > 时,它可以正常工作。

        这是为什么?

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

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

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

        【讨论】:

          猜你喜欢
          • 2012-12-24
          • 2016-08-10
          • 2011-07-18
          • 2017-06-16
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多