Foros del Web » Programando para Internet » PHP »

Leer atributos de dos nodos con php y xml

Estas en el tema de Leer atributos de dos nodos con php y xml en el foro de PHP en Foros del Web. Mi problema es es que quiero leer dos nodos pero si pongo un foreach dentro de otro me duplica el resultado .. este es mi ...
  #1 (permalink)  
Antiguo 03/01/2011, 13:10
 
Fecha de Ingreso: julio-2009
Mensajes: 3
Antigüedad: 14 años, 9 meses
Puntos: 0
Información Leer atributos de dos nodos con php y xml

Mi problema es es que quiero leer dos nodos pero si pongo un foreach dentro de otro me duplica el resultado .. este es mi codigo

A cada concepto le pertenece una observación espero me puedar ayudar gracias

xml:


<?xml version="1.0" encoding="iso-8859-1"?>

<Conceptos>
<Concepto cantidad="1" descripcion="FLETES" valorUnitario="9891.00" importe="9891.00"/>
<Concepto cantidad="1" descripcion="FLETES" valorUnitario="9891.00" importe="9891.00"/>
<Concepto cantidad="1" descripcion="FLETES" valorUnitario="9891.00" importe="9891.00"/>
<Concepto cantidad="1" descripcion="FLETES" valorUnitario="9891.00" importe="9891.00"/>
<Concepto cantidad="1" descripcion="MANIOBRAS" valorUnitario="9200.00" importe="9200.00"/>
</Conceptos>


<MGW10010 cObserva01="RABON 1 CV18644-18661-18694-18687-18720-18721-18723-18615&#xA;" cTextoEx01="" cTextoEx02="" cTextoEx03=""></MGW10010>
<MGW10010 cObserva01="RABON 2 CV18643-18662-18697-18722-18725" cTextoEx01="" cTextoEx02="" cTextoEx03=""></MGW10010>
<MGW10010 cObserva01="RABON 3 CV-18643-18663-18645-18698-18726-18615" cTextoEx01="" cTextoEx02="" cTextoEx03=""></MGW10010>
<MGW10010 cObserva01="RABON 4 CV18664-18695-18718-18724" cTextoEx01="" cTextoEx02="" cTextoEx03=""></MGW10010>
<MGW10010 cObserva01="MANIOBRAS" cTextoEx01="" cTextoEx02="" cTextoEx03="">





$xdoc = new DomDocument;
$archivo="F0000000010.xml";
$xdoc->Load($archivo);
$params = $xdoc->getElementsByTagName('Concepto');
$params2 = $xdoc->getElementsByTagName('MGW10010');


foreach ($params as $param3){

$valor= $param3 -> getAttribute('cantidad').'<br>';
$valordos=$param3 -> getAttribute('descripcion').'<br>';
$valortres=$param3 -> getAttribute('valorUnitario').'<br>';
$valorcuatro=$param3 -> getAttribute('importe').'<br>';

echo $valor ."</br>";
echo $valordos ."</br>";
echo $valortres ."</br>";
echo $valorcuatro ."</br>";

foreach($params2 as $params3){

$valor2 = $params3 -> getAttribute('cObserva01');
echo $valor2 ."</br>";
}

}
  #2 (permalink)  
Antiguo 03/01/2011, 15:06
 
Fecha de Ingreso: diciembre-2007
Ubicación: Valencia
Mensajes: 92
Antigüedad: 16 años, 3 meses
Puntos: 3
Respuesta: Leer atributos de dos nodos con php y xml

La verdad que tengo poca idea de XML, pero una vez tube que hacer una aplicación que leia simple ficheros XML que exportaba una aplicación .NET .

Prueba esto;
Código PHP:
$xml simplexml_load_string($string); // return -> array con los campos.

print_r($xml); 

Etiquetas: atributos, dos, nodos, xml
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 09:41.