Código PHP:
function GenerarXML($array_var)
{
$xml = new DomDocument('1.0', 'UTF-8');
$array=array();
$array=$array_var;
while ($variables = current($array))
{
$clave= key($array);
$valor=$array[$clave];
//echo $clave.': '.$valor.'<br />';
//por cada clave creamos un padre
$padre = $xml->createElement($clave);
$padre = $xml->appendChild($padre);
//por cada padre creamos un hijo con el valor que pertenece a la clave
$hijo=$xml->createElement('value',$valor);
$hijo =$padre->appendChild($hijo);
next($array);
}
$xml->formatOutput = true;
$strings_xml = $xml->saveXML();
$xml->save('miarchivoxml.xml');
}
Código:
y el XML que me genera:<script>
//-----------------------------------LEE DATOS DE UN XML----------------------------
function leerDatos(etiqueta)
{
if (oXML.readyState == 4)
{
var xml = oXML.responseXML;
var item = xml.getElementsByTagName(etiqueta)[0];
var txt = item.getElementsByTagName('value')[0].firstChild.data;
alert(txt);
}
}
//-----------------------------------CREA EL OBJETO XMLHttpRequest-----------------
function AJAXCrearObjeto()
{
var obj;
if(window.XMLHttpRequest)
{ // no es IE
obj = new XMLHttpRequest();
}
else
{ // Es IE o no tiene el objeto
try
{
obj = new ActiveXObject("Microsoft.XMLHTTP");
}
catch (e)
{
alert('El navegador utilizado no está soportado');
}
}
return obj;
}
//-------------------------CREAMOS OBJETO, ABRIMOS EL XML Y LEEMOS-----------------
oXML = AJAXCrearObjeto();
oXML.open('get', 'miarchivoxml.xml');
oXML.onreadystatechange = function()
{
leerDatos('estadoProyecto');
}
oXML.send('');
</script>
Código HTML:
<?xml version="1.0" encoding="UTF-8"?> <estadoProyecto> <value>4</value> </estadoProyecto>
Código HTML:
<?xml version="1.0" encoding="UTF-8"?> <estadoProyecto> <value>4</value> </estadoProyecto> <fff> <value>4</value> </fff>
Código:
pero el principal problema viene porque mi xml no tiene las etiquetas <xml></xml>://esto: var xml = oXML.responseXML; //por esto: var xml = oXML.responseXML.documentElement;
Código HTML:
<?xml version="1.0" encoding="UTF-8"?> <xml> <estadoProyecto> <value>4</value> </estadoProyecto> <fff> <value>4</value> </fff> </xml>
uso Chrome por cierto



