J'ai un problème lors de la définition d'un noeud cdata avec jquery. Obtenir cdata est facilement fait avec la fonction .text(), mais si j'utilise .text ('jquery> handy'), il ne crée pas de noeud cdata.jquery set xml cdata
Ceci est mon procecure: Je reçois des données de formulaire en XML pour charger sous une forme quelque chose comme ceci:
<formdata>
<field id="title"><![CDATA[Some title]]></field>
<field id="description"><![CDATA[Some description]]></field>
</formdata>
J'utilise des nœuds de CDATA parce qu'un champ peut contenir toutes sortes de caractères spéciaux. Ensuite, je charge les données dans le formulaire en obtenant le contenu du nœud avec .text()
Si l'utilisateur publie le formulaire, je mets à jour le xml et le convertir en une piqûre pour le publier sur le serveur. Je sais que je pourrais juste poster les champs, mais j'ai quelques bonnes raisons de le mettre dans un document XML. Tout fonctionne très bien, mais pas si l'utilisateur fait des entrées avec des caractères spéciaux. Voilà comment je définir la valeur du nœud (dans cet exemple, le « nœud descriptioon »)
domdoc.find('field[id="description"]').text($("#description").val());
Ainsi, le nœud utilisé pour être CDATA, mais la fonction .text() qui supprime. J'Alo essayé ceci:
domdoc.find('field[id="description"]').text('<![CDATA[' + $("#description").val() + ']]>');
Cela ne fonctionne pas non plus parce que .text() change < à & gt;
est-ce que quelqu'un a une solution? Mon inspiration est parti .....
Merci, Simon
Merci porneL, Je vais essayer de le comprendre de cette façon. – simon
Merci à vous je l'ai compris! encore, c'est un peu étrange, vous ne pouvez pas utiliser la fonctionnalité cdata .... – simon
Cela ne vous aide pas totalement si vous voulez, par exemple, que quelqu'un puisse insérer du code HTML dans votre fichier XML. Tels que ici. Html-comment>]]> –
Spider