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