Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

créer un objet xml en javascript a partir d'une chaine

2 réponses
Avatar
Laurent Poulette
Salut a tous,

je voudrais faire la chose suivante en javascript, et que cela soit
compatible IE et FF


<script>
var myXmlStr='<?xml version="1.0"
encoding="ISO-8859-1"?><PORTAIL><ACTIONS width="260"
height="150"><ACTION nom="connexion" visible="1"
tag="1"><URL>root/login.php</URL></ACTION></ACTIONS></PORTAIL>';

var myXML=new xmlObject(); //a définir

myXml.loadFromString(myXmlStr);

//du code manipulant les noeuds et attributs

</script>


J'ai pas mal chercher sur le web et tout ce que je trouve concerne le
chargement a partir d'un fichier ou d'une url, et non a partir d'une
chaine.

quelqu'un a une idée ?


Laurent

2 réponses

Avatar
Bruno Desthuilliers
Salut a tous,

je voudrais faire la chose suivante en javascript, et que cela soit
compatible IE et FF


<script>
var myXmlStr='<?xml version="1.0"
encoding="ISO-8859-1"?><PORTAIL><ACTIONS width="260"
height="150"><ACTION nom="connexion" visible="1"
tag="1"><URL>root/login.php</URL></ACTION></ACTIONS></PORTAIL>';

var myXML=new xmlObject(); //a définir

myXml.loadFromString(myXmlStr);

//du code manipulant les noeuds et attributs

</script>


J'ai pas mal chercher sur le web et tout ce que je trouve concerne le
chargement a partir d'un fichier ou d'une url, et non a partir d'une
chaine.

quelqu'un a une idée ?



Non, mais j'avoue que le but de la manoeuvre m'échappe un peu...

Avatar
Laurent Poulette
Salut a tous,

je voudrais faire la chose suivante en javascript, et que cela soit
compatible IE et FF


<script>
var myXmlStr='<?xml version="1.0"
encoding="ISO-8859-1"?><PORTAIL><ACTIONS width="260"
height="150"><ACTION nom="connexion" visible="1"
tag="1"><URL>root/login.php</URL></ACTION></ACTIONS></PORTAIL>';

var myXML=new xmlObject(); //a définir

myXml.loadFromString(myXmlStr);

//du code manipulant les noeuds et attributs

</script>


J'ai pas mal chercher sur le web et tout ce que je trouve concerne le
chargement a partir d'un fichier ou d'une url, et non a partir d'une
chaine.

quelqu'un a une idée ?



Non, mais j'avoue que le but de la manoeuvre m'échappe un peu...

J'ai trouvé ma réponse sur un autre forum.


Je vous en fait profiter


function xmlFromString(body)
{

// code for IE
if (window.ActiveXObject)
{
var doc=new ActiveXObject("Microsoft.XMLDOM");
doc.async="false";
doc.loadXML(body);
}
// code for Mozilla, Firefox, Opera, etc.
else
{
var parser=new DOMParser();
var doc=parser.parseFromString(body,"text/xml");
}

return doc;
}


Le but du jeux étant un peu complexe, je résume


Je suis amené a récupérer en JS une chaîne représentant un xml, j'ai
besoin de la parser pour pouvoir l'intégrer a un objet que j'ai
développé qui représente l'équivalent d'un dataset (sous delphi par exemple)

Le problème est que la source de ce xml est fournie par un client lourd
installé sur le poste client, et que dans ce cas, je ne peux utiliser le
xmlHTTPrequest pour charger ce xml (crosssite interdit)
Je passe donc par une solution détournée qui consiste a inserer dans ma
page un objet script, dont la source est fournie par un appel a une url
127.0.0.1/xxxxx


et hop.


Laurent