2010-06-26 19 views
2

Je n'arrive pas à faire fonctionner le mappage de champ CDATA de Ext.data.XmlReader.Mappage du champ XmlReader de ExtJS

<script> 
var store = new Ext.data.Store({ 
    url: '../data/data.xml', 
    // specify a XmlReader 
    reader: new Ext.data.XmlReader({ 
    record: 'entry', 
    fields:[ 
      { name: 'field1', type: 'date', mapping:'field1'}, 
      { name: 'field2', type: 'string', mapping:'field2'} 
      ] 
    }), 
    listeners:{load:function(store,recs) 
       { //alert row1.field1 and row1.field2 
       var s = 'field1 = '+recs[0].get('field1') + '\nfield2 = '+recs[0].get('field2'); 
       alert(s); 
       } 
    } 
    }); 

store.load(); 
</script> 

Et voici le contenu XML dans data.xml:

<?xml version="1.0" encoding="UTF-8"?> 
    <feed xmlns="http://www.w3.org/2005/Atom"> 
    <entry> 
     <field1>01/01/2006</field1> 
     <field2> 
      <![CDATA[ 
       <Comment> 
        Test 
       </Comment> 
      ]]> 
     </field2> 
     </entry> 
    </feed> 

Lors du stockage terminé le chargement. L'alerte (de l'auditeur) montre quelque chose comme ceci:

field1 = Sun Jan 01 2006 00:00:00 GMT+0700 (ICT) 
field2 = 

Mais je devrait voir ceci:

field1 = Sun Jan 01 2006 00:00:00 GMT+0700 (ICT) 
field2 = <Comment> 
      Test 
     </Comment> 

Ce problème ne se produit en chrome et safari.it fonctionne avec IE6. Comment obtenir la valeur du nœud field2 (de préférence, la solution fonctionne sur les principaux navigateurs), ?

Merci d'avance.

Owat

Répondre

5

La balise de début <![CDATA[ doit commencer immédiatement après la balise XML sans espace entre les deux et la balise de fin ]]> doit être suivie immédiatement par la balise XML proche, comme ceci:

<field2><![CDATA[ 
      <Comment> 
       Test 
      </Comment> 
    ]]></field2> 
+0

OMG , ça marche vraiment! . Merci beaucoup. Je corrige cela depuis quelques jours, jamais pensé à espaces du tout. – user376858

+0

Je reviendrai et vous donnerai un vote plus tard. Je l'ai essayé mais je n'ai aucune réputation . - - " Owat – user376858