JavaScript - Parsear xml from string

 
Vista:

Parsear xml from string

Publicado por César (3 intervenciones) el 02/07/2007 17:20:47
Sábe alguien como parser un xml from string en Internet explorer??
He intentado con esto:
var xmlobject = (new DOMParser()).parseFromString(str, "text/xml");

pero solo funciona con Mozilla.

Gracias
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Parsear xml from string

Publicado por Flor Castagnino (10 intervenciones) el 04/07/2007 01:06:05
César,

probá esto a ver si funciona

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

Saludos!!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Parsear xml from string

Publicado por Ye (1 intervención) el 17/08/2007 17:35:44
Si de algo te sirve:

Isla de datos XML para IE
..
<xml id="xmldataisland">
<foo>bar</foo>
</xml>

Solución multiplataforma:
var xmlString = "<xml id=\"xmldataisland\"><foo>bar</foo></xml>";

var myDocument;

if (document.implementation.createDocument){
// Mozilla, create a new DOMParser
var parser = new DOMParser();
myDocument = parser.parseFromString(xmlString, "text/xml");
} else if (window.ActiveXObject){
// Internet Explorer, create a new XML document using ActiveX
// and use loadXML as a DOM parser.
myDocument = new ActiveXObject("Microsoft.XMLDOM");
myDocument.async="false";

myDocument.loadXML(xmlString);
}
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Parsear xml from string

Publicado por David Jacob jarquin (1 intervención) el 01/08/2009 06:07:06
Una implementaciòn que yo utilizo es la siguiente, me funciona en IE y mozilla:

var _xml = {
_str2xml : function(strXML){
if (window.ActiveXObject)
{
var doc=new ActiveXObject("Microsoft.XMLDOM");
doc.async="false";
doc.loadXML(strXML);
}
// code for Mozilla, Firefox, Opera, etc.
else
{
var parser=new DOMParser();
var doc=parser.parseFromString(strXML,"text/xml");
}// documentElement always represents the root node
return doc;
},
_xml2string : function(xmlDom){
var strs = null;
var doc = xmlDom.documentElement;
if(doc.xml == undefined){
strs = (new XMLSerializer()).serializeToString(xmlDom);
}else strs = doc.xml;
return strs;

}
}

var xmlDoc = _xml._str2xml("<root></root>");
alert(xmlDoc.childNodes.length);

alert("Xml string is:" + _xml._xml2string(xmlDoc));
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar