Question

Ceci est un problème assez simple mais je ne trouve pas de solution. J'écris du XML sur une div cachée sur la page et je le lis plus tard. Le problème est que certaines citations sont supprimées lors de l’écriture dans la div et, de ce fait, je ne peux pas charger l’utilisation du XML dans IE à l’aide de LoadXML.

c'est le XML

<parameters id='XXX'>
<product_id value='YYY'/>
<report_id value='ZZZ'/>
<list>
    <filter_id value='AAA'/>
</list>
<date_begin value='BBB'/>
<date_end value='CCC'/>
<timeframe_id value='DDD'/>
<chart_id value='EEE'/>

J'ai utilisé beaucoup de méthodes différentes, mais aucune ne semble fonctionner. J'essaie d'utiliser JQUERY autant que possible pour éviter les problèmes de navigation croisée, mais toute solution convient.

J'ajoute le xml, dans une variable de chaîne paramString, ci-dessus à l'aide de

var parametersDiv = "<div id='" + reportDivId + "_params' style='visibility: hidden; display: none'>" + paramString + "</div>";

et ça va bien.

Cependant, lorsque j'essaie de le récupérer, les guillemets autour du XXX sont supprimés dans IE. Ainsi, je ne peux pas le charger en utilisant loadXML (). Je pourrais pirater une solution, mais j'aimerais le faire correctement.

Toutes les solutions seraient utiles, j'ai déjà perdu presque une journée à ce sujet.

Merci

JD

Était-ce utile?

La solution

Essayez d'utiliser des guillemets doubles pour voir si cela fonctionne.

Si ce n'est pas le cas, une autre solution à votre problème pourrait être d'obtenir du XML un XMLHttpRequest (Ajax).

jQuery.ajax({
  url: 'yourUrlThatReturnsXML',
  dataType: 'xml',
  success: function (data, textStatus) {
   $(data); // Your XML
  }
});

Autres conseils

Comment insérez-vous ces divs cachés dans la page? Vous utilisez vraisemblablement innerHTML (étant donné que vous avez une chaîne), mais cela signifie qu’elle est transmise par l’analyseur HTML d’IE. Cela le transformera en HTML (non valide) et, lorsque vous tenterez de le récupérer, vous verrez l'effet que vous décrivez d'attributs non cités (et probablement d'autres effets secondaires que vous ne rencontrez peut-être pas encore ...).

La meilleure solution consiste à enregistrer une référence au document XML renvoyé (et non à une sérialisation de chaîne) dans une variable.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top