Pour serializer il existe des trucs "tout fait" pour chacun des navigateurs:
- sous IE tu as la propriété xml de chaque noeud, ça marche très bien
- sous FF tu as XMLSerializer, que tu utilises ainsi
Code :
- new XMLSerializer().serializeToString(node);
|
- Pour les autres navs, il faut que tu te fasses ta propre fonction ( c'est pas si dur, si tu galères trop je te montrerais)
Une fois que tu as tout ça tu peux faire:
Code :
- function serialize(node,level) {
- if (node == null || typeof node != 'object') {return node};
- if (window.ActiveXObject) {
- //pour IE
- return node.xml;
- }else if (window.XMLSerializer) {
- //pour FF
- return new XMLSerializer().serializeToString(node);
- }else {
- //pour les autres
- return TaFonctionManuelle(node);
- }
- }
|
Pour désérializer c'est un peu la même histoire:
Code :
- var docXML = new ActiveXObject("Microsoft.XMLDOM" );
- docXML.loadXML(xmlString);
|
var docXML = (new DOMParser()).parseFromString(xmlString,"text/xml" );[/code]
- pour les autres, tu l'as dans le ...
Message édité par anapajari le 10-04-2006 à 17:47:48