2011-08-16 24 views
0

我使用JavaScript的以下行来解析XML字符串转换为XML DOM对象:的Javascript XML解析错误,未关闭的CDATA节

this._xmlParser = new DOMParser(); 
this._xmlDoc = this._xmlParser.parseFromString(txt,"text/xml"); 

我的XML字符串如下所示:

<?xml version="1.0"?> 
<event> 
    <id>41717876</id> 
    <start>2011-08-16T10:16</start> 
    <end>2011-08-16T10:16</end> 
    <title>New Calendar Event</title> 
    <location> 
    <line>Your location goes here.</line> 
    </location> 
    <description> 
    <line>Your description goes here.</line> 
    </description> 
    <!-- %%spider:url%% --> 
    <further-info><![CDATA[ hello&goodbye ]]></further-info> 
    <tag>all</tag> 
    <url>www.google.com</url> 
</event> 

CDATA节似乎是良好的。为什么我会收到一个解析器错误未封闭CDATA部分?

回答

1

对不起,回答我的问题,但我发现我的问题的根源曾与浏览器的响应限制文本节点的XML-RPC调用的大小做。我发现下面的有用的注意事项here

“另外,值得注意的是,虽然规格说,标签之间存在 无论多少文字,它都应该在一个 文本节点,在实践中,这是情况并非总是如此。在Opera 7-9.2x 和Mozilla/Netscape 6以上,如果文本是大于特定最大 尺寸,它被分成多个文本节点。这些文本节点将 彼此相邻的childNodes集合父 元素“。

我收到的响应已经在不知不觉中将我的文本节点分割为多个文本节点。抬起头来的人谁也有类似的问题。