Ошибка синтаксического анализа XML Javascript, открытый раздел CDATA - PullRequest
0 голосов
/ 16 августа 2011

Я использую следующие строки JavaScript для разбора строки XML в объект DOM XML:

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 Ответ

1 голос
/ 16 августа 2011

Извините, что отвечаю на мой собственный вопрос, но я обнаружил, что источник моей проблемы связан с ответом браузера, ограничивающим размер текстовых узлов в вызовах xml-rpc.Я нашел следующее полезное примечание здесь :

"Также важно отметить, что хотя в спецификациях говорится, что независимо от того, сколько текста существует между тегами, все должно быть в одномтекстовый узел, на практике это не всегда так. В Opera 7-9.2x и Mozilla / Netscape 6+, если текст больше определенного максимального размера, он разделяется на несколько текстовых узлов. Эти текстовые узлы будут следующимидруг другу в коллекции childNodes родительского элемента. "

Ответ, который я получил в браузер, по незнанию разделил мой текстовый узел на несколько текстовых узлов.Heads для всех, кто имеет подобную проблему.

...