Este es un fragmento del xml
- Code: Select all Expand view RUN
<deduccion tipo="7">
<tipoDoc>80</tipoDoc>
<nroDoc>30695303978</nroDoc>
<denominacion>SUPER NUEVA COLON SRL</denominacion>
<descBasica>30695303978 - SUPER NUEVA COLON SRL</descBasica>
<montoTotal>769.80</montoTotal>
<periodos>
<periodo mesDesde="2" mesHasta="2" montoMensual="52.17"/>
<periodo mesDesde="3" mesHasta="3" montoMensual="171.34"/>
<periodo mesDesde="4" mesHasta="4" montoMensual="96.16"/>
<periodo mesDesde="5" mesHasta="5" montoMensual="82.02"/>
<periodo mesDesde="6" mesHasta="6" montoMensual="368.11"/>
</periodos>
</deduccion>
y esto es lo que obtengo en el array
- Code: Select all Expand view RUN
deduccion
tipoDoc 80
nroDoc 30695303978
denominacion SUPER NUEVA COLON SRL
descBasica 30695303978 - SUPER NUEVA COLON SRL
montoTotal 769.80
periodos
periodo
periodo
periodo
periodo
periodo
Este es el código de xmltree que modifiqué para que obtener un array
- Code: Select all Expand view RUN
While( ( oTagActual := oXmlIter : Next() ) != nil )
If( oTagLast != nil )
If( oTagLast : Depth() < oTagActual : Depth() )
ASize( aRoots, Len( aRoots ) + 1 )
aRoots[ oTagActual : Depth() + 1 ] := aRoots[ oTagActual : Depth() ] : Add( oTagActual : cName )
aRoots[ oTagActual : Depth() + 1 ] : Cargo := oTagActual
Aadd( aDatos, { oTagActual : cName, oTagActual : cData } ) <- ARRAY
End
If( oTagLast : Depth() > oTagActual : Depth() )
aRoots[ oTagActual : depth() + 1 ] := aRoots[ oTagActual : Depth() ] : Add( oTagActual : cName )
aRoots[ oTagActual : depth() + 1 ] : Cargo := oTagActual
Aadd( aDatos, { oTagActual : cName, oTagActual : cData } ) <- ARRAY
End
If( oTagLast : Depth() == oTagActual : Depth() )
aRoots[ Max( oTagLast : Depth(), 1 ) ] : Add( oTagActual : cName ) : Cargo = oTagActual
Aadd( aDatos, { oTagActual : cName, oTagActual : cData } ) <- ARRAY
End
Else
AAdd( aRoots, oTree : Add( oTagActual : cName ) )
ATail( aRoots ) : Cargo = oTagActual
Aadd( aDatos, { oTagActual : cName, oTagActual : cData } ) <- ARRAY
End
oTagLast := oTagActual
Enddo
xBrowser aDatos
FClose( hFile )
oTree : bChanged = { | oItem | oLbxDatas : SetItems( { oItem : GetSelected() : Cargo : cData } ),;
oLbxMethods : Reset(), HEval( oItem : GetSelected() : Cargo : aAttributes,;
{ | cKey, cData | oLbxMethods : Add( cKey + " : " + cData ) } ) }
Return Nil
Alguna idea ? Muchísimas gracias
Saludos