![]() |
Как автоматом собрать xml базу
Вложений: 1
Допустим, есть два раздела ‘Доски’ и ‘Гвозди’. Есть одна организация, которая производит доски и гвозди.
И сам вопрос, как эту организацию поместить в два раздела автоматом? Само собой в одном из разделов эта организация будет прописана, а другие разделы, относящиеся к этой организации должны автоматом ее прописать. Код:
<node>Может это просто не реально сделать… В примере только компонент Tree дергающий xml. |
вы хотите выборки из xml делать что ли? типа есть tree с нодами "гвозди", "доски", "колбаса". при клике на ноду в ней раскрываются организации хоть как-то производящие данный продукт.
|
либо тупо делать копии узлов в нужные категории,
либо создавать что-то типа индексации (либо в разных документах либо в одном) Код:
<node> |
Цитата:
Цитата:
|
Зачем Вам все эти чудеса?
Сделайте 2 XML файлика |
Цитата:
Видите ли, организаций более 5тс. и думается, что их будет только больше и больше, и создавать лишние xml совсем не желательно и уж тем более вручную вбивать организации в разделы. Не совсем понятен пример от Mnilionic в принципе приходится так же вбивать организации только теперь по id)) |
Что можно попробовать:
иметь один хмл, где просто описан линейно список организаций с аттрибутом meta = "гвозди" ну или "доски" либо и то и другое. при клике на ноду "доски" нужно пробегать весь этот список, ища ноды в нем, у которых в мета есть "доски" и делать addChildNode этого узла к узлу "доски" в tree.dataProvider. это и будет сборка "на лету". чтобы каждый раз не пробегаться по всему списку, можно придумать, точнее продумать, систему индексации записей этого списка, и искать не в списке, а в индексах. Но в этом случае придется изменить механизм добавления организаций в список, т.е. нужно при добавлении в список менять и индексную информацию. Однако, и в простом случае без индексации вы все равно вынуждены вписывать руками, что организация делает то-то и то-то. Это можно трактовать как тривиальный случай индексации. Индексную информацию можно хранить либо в том же файле, вместе со списком, либо в отдельном файле (файлах). PS. А что, заюзать обычную sql-базу невозможно? |
Цитата:
Я вам предложил, почти то что подробно расписал alexcon314: * линейный список компаний * линейный список категорий * в категориях индексный список по id компаний удовлетворяющих категории. Изначально в tree показываете список категорий. при выборе категорий получаем её индексы и хватаем по id необходимые компании. Так как во флеш нету getElementById(), то выкручиваемся так: При загрузки пробегаемся по всему списку компаний и создаём ассациативный массив с id компании, в качестве ключей, и ссылкой ну узел, в качестве значения. Ну и помимо добавления новый коспании нужно будет добавлять её индекс в необходимые категории ,за неимением базы и админки, в ручную =). но всё же посмотрите в сторону человекской sql базы! |
Нет ну конечно в большей степени не рационально использовать в моем случае xml, но а какими еще средствами локально я могу получить данные. Если локально использовать sql, видимо нужно будет устанавливать дополнительных клиентов для обработки данных. А это лишние мегабайты. Если я в чем-то не прав поправьте.
Может быть попробовать заюзать Access Database, но с этим так я вообще дел никаких не имел. P.S. В проектике использую Zinc, может быть, используя его возможности можно что-нибудь выдумать)) P.P.S. Автоматизации никакой, может и не браться за это дело, с другой стороны если ради опыта, то почему бы и нет.) |
Класс mdm.Database.MSAccess. Для работы вам потребуется только файл самой базы .mdb, ничего дополнительно устанавливать не надо, насколько мне известно. Для вашей задачи нужно составить sql-запрос типа
Код:
mdm.Database.MSAccess.select("SELECT * FROM myTable WHERE meta='гвозди'");Ну или развивайте интеллект, юзая xml. |
sql – это, конечно, круто. Но с этим нужно разбираться отдельно, у меня даже обычный коннект вызвал не большие проблемы, так что боюсь, взявшись сейчас за sql возникнет еще больше вопросов))
Все же по xml, если есть примерчик, хоть как-то относящийся к теме, будьте добры поделитесь, будет проще... мне:) |
| Часовой пояс GMT +4, время: 02:33. |
Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.