Estructuras de datos

Catalin Lungu lcatalin en siadv.com
Vie Sep 10 09:41:40 CEST 2004


Hola,
Tengo un problema tonto, que creo que es mas de lógica que de Python.
Tengo el siguiente fichero :

<TABLA>
    <TABLA_ID>Ntabla1<\TABLA_ID>
    <DESCRIPCION>Descripcion1<\DESCRIPCION>
    <CAMPOS>
        <CAMPO>
            <CAMPO_ID>Ncampo11<\CAMPO_ID>
            <TIPO>Tcampo11<\TIPO>
        <\CAMPO>
        <CAMPO>
            <CAMPO_ID>Ncampo12<\CAMPO_ID>
            <TIPO>Tcampo12<\TIPO>
        <\CAMPO>
    <\CAMPOS>
    <FECHAHORA>Fechahora1<\FECHAHORA>
<\TABLA>
<TABLA>
    <TABLA_ID>Ntabla2<\TABLA_ID>
    <DESCRIPCION>Descripcion2<\DESCRIPCION>
    <CAMPOS>
        <CAMPO>
            <CAMPO_ID>Ncampo21<\CAMPO_ID>
            <TIPO>Tcampo21<\TIPO>
        <\CAMPO>
       <CAMPO>
          <CAMPO_ID>Ncampo22<\CAMPO_ID>
          <TIPO>Tcampo22<\TIPO>
       <\CAMPO>
    <\CAMPOS>
    <FECHAHORA>Fechahora2<\FECHAHORA>
<\TABLA>

Lo leo y lo guardo de esta forma:
result = {'TABLA': [{'TABLA_ID': ['Ntabla1'], 'DESCRIPCION': ['Descripcion1'], 'CAMPOS': [{'CAMPO': [{'CAMPO_ID': ['Ncampo11'], 'TIPO': ['Tcampo11']}, {'CAMPO_ID': ['Ncampo12'], 'TIPO': ['Tcampo12']}]}], 'FECHAHORA': ['Fechahora1']}, {'TABLA_ID': ['Ntabla2'], 'DESCRIPCION': ['Descripcion2'], 'CAMPOS': [{'CAMPO': [{'CAMPO_ID': ['Ncampo21'], 'TIPO': ['Tcampo21']}, {'CAMPO_ID': ['Ncampo22'], 'TIPO': ['Tcampo22']}]}], 'FECHAHORA': ['Fechahora2']}]}

Para extraer valores bastante sencillo. Pero para insertar, o modificar no tanto. Como parámetro le estoy pasando una lista de tuplas [("TABLA","Ntabla1"),("CAMPOS",""),("CAMPO","Ncampo11")]. Esto me devuelve {'CAMPO_ID': ['Ncampo11'], 'TIPO': ['Tcampo11']} (justo lo que necesito).

Por favor díganme como puedo insertar campos nuevos y modificar valores de campos existentes.



Muchas gracias,

Catalin Lungu




Más información sobre la lista de distribución Python-es