0

私は次のコードを持っています:

<!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>

上記のコード - エラーが生成されます: Invalid XML

ただし、var xml を var xml = < count >1</ count > に変更すると、エラーなしで動作します。

どうしてこれなの ?

ありがとう!

4

3 に答える 3

3

XML ドキュメントに 2 つのルート要素を含めることはできません。

公式の構文によれば、「トップレベル」または「ルート」要素は 1 つしか存在できないことに注意してください。

あなたの例では、許可されていない最上位に count と ticketId の両方があります。

于 2012-06-12T05:33:37.657 に答える
1

XMLには複数のルート要素があります

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

これを単一のコンテナルート要素内にラップすると、機能するはずです

<container><count>1</count><ticketID id='2'><incidentUrl>3</incidentUrl></ticketID></container>
于 2012-06-12T05:34:55.290 に答える