Разбор CFDUMP структуры и хранения значений - PullRequest
5 голосов
/ 29 августа 2010

Как мне разобрать эту структуру? Мне нужно превратить это в отдельные переменные. Например. из структуры атрибутов:

name

type

value

Я не знаком со структурами, и мне нужно ввести данные этого типа в базу данных.

Я играл с cfloop, но ничего.

cfdump

Ответы [ 3 ]

6 голосов
/ 30 августа 2010

Предполагая, что ваша переменная называется "foo", вы можете получить доступ к имени, как это

foo.attributes.name

Структуры просто доступны через точечную запись.

1 голос
/ 29 августа 2010

Если вы хотите просто вывести эту структуру, используйте простой XML и сохраните его в поле CLOB или BLOB. Но если вы хотите выполнять такие операции, как поиск, частые изменения данных, лучше рассмотреть древовидные структуры.

Если вы используете Oracle, взгляните на CONNECT BY PRIOR, . Это заставит вас хранить значения в базе данных непосредственно как строки, а затем запрашивать их и загружать в древовидную структуру.

Суть в том, что вы оба должны иметь возможность хранить и извлекать данные, как если бы вы имели дело с простой структурой данных TREE.

0 голосов
/ 07 сентября 2010

По тому же принципу, что и Бен, я не уверен, почему вы захотите разделить эту симпатичную небольшую структуру. Используйте его в его текущей форме, получая доступ к значениям внутри него, а не разбирая его.

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

Подробнее см. На странице зацикливания структуры LiveDocs.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...