Ver Mensaje Individual
  #1 (permalink)  
Antiguo 03/01/2011, 13:10
axtribeat
 
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>";
}

}