2010-08-29 8 views
5

¿Cómo analizo esta estructura? Necesito convertir esto en variables individuales. P.ej. desde los atributos struct:Análisis de estructuras y valores de tienda CFDUMP

name 

type 

value 

No estoy familiarizado con las estructuras, y debo ingresar este tipo de datos en una base de datos.

He jugado con cfloop, pero nada.

cfdump

+0

¿Cómo desea que se almacenen estos datos en una base de datos? p.ej. Cuál es el propósito. –

Respuesta

6

Asumiendo que su nombre de la variable es "foo", puede acceder a la misma familia el nombre

foo.attributes.name 

Estructuras se accede simplemente a través de la notación de punto.

1

Si desea simplemente volcar esta estructura, utilizar un sencillo XML y almacenarlo en un campo CLOB o BLOB. Pero si desea realizar operaciones tales como búsqueda, cambios frecuentes en los datos, entonces es mejor que considere las estructuras de árbol.

Si está utilizando Oracle, eche un vistazo a CONNECT BY PRIOR, esto le hace almacenar valores en la base de datos directamente como filas y luego consultarlos y cargarlos en una estructura de árbol.

Lo esencial aquí es que ambos deberían poder almacenar y recuperar datos como si se tratara de una estructura de datos TREE simple.

+0

¿hay alguna forma de obtener cada campo como una variable? Estoy usando una función que analiza una entrada como ve, ahora solo necesito los resultados para poder trabajar con ellos. esta función se encuentra en http://www.bennadel.com/blog/779-Parsing-HTML-Tag-Data-Into-A-ColdFusion-Structure.htm – loo

0

En la misma línea que lo que dijo Ben, no estoy seguro de por qué querrías separar esta pequeña estructura. Úselo en su forma actual accediendo a los valores dentro de él en lugar de desensamblarlo.

<cfloop collection="#foo.attributes#" item="myKey"> 
    <cfoutput>Value of #myKey# is #structFind(foo.attributes, myKey)#</cfoutput> 
</cfloop> 

Consulte LiveDocs' structure looping page para obtener más información.

Cuestiones relacionadas