2014-10-23 5 views
0

У меня есть файл XML на диске, который содержит:TextContent не читает весь текст

<canvasTracking> 
     <!-- GoStats JavaScript Based Code --> 
     <script type="text/javascript" src="http://gostats.com/js/counter.js"></script> 
     <script type="text/javascript">_gos='monster.gostats.com';_goa=458628; 
     _got=5;_goi=1;_gol='Install live web stats on your site.';_GoStatsRun();</script> 
     <noscript><a target="_blank" title="Install live web stats on your site." 
     href="http://gostats.com"><img alt="Install live web stats on your site." 
     src="http://monster.gostats.com/bin/count/a_458628/t_5/i_1/counter.png" 
     style="border-width:0" /></a></noscript> 
     <!-- End GoStats JavaScript Based Code --> 
</canvasTracking> 

Я прочитал файл:

$.post('loadSave.php', {saveName : xml_name},  
      function(xml) { // loaded data is in xml 
          canvas$ = $('#canvas'); 
          if ($(xml).find("canvasTracking").length) { 
           canvasTracking = $(xml).find("canvasTracking")[0].textContent 
          } 
          else { 
           canvasTracking = ''; 
          } 

Глядя на «XML» после чтения смогу видеть, что весь текст canvasTracking сошел, но после того, как линии

canvasTracking = $(xml).find("canvasTracking")[0].textContent 

, canvasTracking содержит только:

_gos='monster.gostats.com';_goa=458628; 
_got=5;_goi=1;_gol='Install live web stats on your site.';_GoStatsRun(); 
<a target="_blank" title="Install live web stats on your site." 
href="http://gostats.com"><img alt="Install live web stats on your site." 
src="http://monster.gostats.com/bin/count/a_474698/t_5/i_1/counter.png" 
style="border-width:0" /></a> 

Кто-нибудь видит проблему и знает, как я могу получить весь текст?

Благодаря

+0

Правильный способ встроить XML как текст в документе XML является использование CDATA. –

+0

Я читал в W3Schools «Термин CDATA используется для текстовых данных, которые не должны анализироваться синтаксическим анализатором XML». Но в этом случае нет синтаксического анализа, кроме меня, с [0] .textContent. Кажется, мне нужно что-то другое, чтобы прочитать его. – Steve

+0

Когда вы выполняете '$ (xml)', вы разбираете его. Вы должны сказать парсеру _not_, чтобы сделать это, используя CDATA. –

ответ

1

Попробуйте

var canvasTracking; 
$.post('loadSave.php', {saveName : xml_name} 
, function(xml) { 
    if (xml.firstChild.nodeName === "canvastracking") { 
     canvasTracking = $(xml.firstChild); 
    } else { 
     canvasTracking = "" 
    } 
    console.log(canvasTracking) 
}) 

jsfiddle http://jsfiddle.net/guest271314/mm6yc1vh/

+0

Получил! Чтение canvasTracking с canvasTracking = $ (xml) .find ("canvasTracking"). Html(); возвращает его обратно. TextContent просто прочитал текстовый узел, который исключил все, что выглядело как HTML. – Steve

Смежные вопросы