Автор Тема: Как сделать то ?  (Прочитано 5734 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн flymio

  • Завсегдатай
  • Новичок
  • *
  • Сообщений: 34
  • +0/-0
  • 0
    • Просмотр профиля
    • http://notlj.ru
Как сделать то ?
« : 27 Ноября 2001, 11:27:56 »
Смысел в чём ? ...
Смысел в том, чтобы не используя готового модуля (XML)
Из следующей конструкции:


  mio
  21 nov, 13:34 [Wed];
  index.html



получить:
tree->{system}->{user}=mio;
tree->{system}->{date}=mio;
tree->{system}->content=  mio
  21 nov, 13:34 [Wed];
  index.html


И т.д, и т.п.
Кто нить хотя бы алгоритм нормальный может подсказать ? ... а то я уже ... просто жуть ... ну не хочет работать нормально, всё время глючит ...


http://www.flymio.com

Оффлайн NeoNox

  • Координатор
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 3012
  • +0/-0
  • 0
    • Просмотр профиля
Как сделать то ?
« Ответ #1 : 27 Ноября 2001, 11:55:58 »
Цитировать
Кто нить хотя бы алгоритм нормальный может подсказать ?

Алгоритм чего? Как вытащить значения из страницы. Тогда попробуй копать вот тут:
http://perl.artil.ru:8101/docs/lama/g7.shtml
The documentations is your friend

Оффлайн flymio

  • Завсегдатай
  • Новичок
  • *
  • Сообщений: 34
  • +0/-0
  • 0
    • Просмотр профиля
    • http://notlj.ru
Как сделать то ?
« Ответ #2 : 27 Ноября 2001, 20:52:37 »
не ... смысл не в том, чтобы со страницы вытащить  ...


это не страница ... это структура ... это что угодно ...
это абстрактный поток данных ... он даже не обязательно хранит даннные .... это что угодно ...


вот .... (((

Оффлайн NeoNox

  • Координатор
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 3012
  • +0/-0
  • 0
    • Просмотр профиля
Как сделать то ?
« Ответ #3 : 28 Ноября 2001, 13:07:15 »
Цитировать
это абстрактный поток данных ... он даже не обязательно хранит даннные .... это что угодно ...

Так "ЭТО" можно в $ @ запихнуть?
The documentations is your friend

Оффлайн flymio

  • Завсегдатай
  • Новичок
  • *
  • Сообщений: 34
  • +0/-0
  • 0
    • Просмотр профиля
    • http://notlj.ru
мда...))))
« Ответ #4 : 27 Декабря 2001, 19:16:34 »
еси бы надо было вытащить значение из таблицы ... я бы так не мучился ... смысел не вытащить из таблицы значений ... потому что таблицы могут иметь совершенно любые имена ... и теги человек сам пишет ...
а разбивать всё на объекты ...

Оффлайн Green Kakadu

  • Координатор
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 2757
  • +1/-0
  • 0
    • Просмотр профиля
    • http://gnezdo.webscript.ru
Эээ
« Ответ #5 : 28 Декабря 2001, 01:21:06 »
XML::Parser
Например, результат обработки строки (метод parse):
Hello thereHowdydo

будет выглядеть так (судя по документации):

[foo, [{}, head, [{id => ``a\'\'}, 0, ``Hello \'\', em, [{}, 0, ``there\'\']], bar, [ {}, 0, ``Howdy\'\', ref, [{}]], 0, ``do\'\' ] ]

Один из авторов модуля - Larry Wall!  :super:

См. также:
HTML::Tree
HTML::TreeBuilder

может если и не подойдут эти, то мысли какие-нибудь интересные появятся :) например, я бы с интересом посмотрел, что получится/отыщется..
Т.е. поход на http://CPAN.org
Стоит покопать модули околоXML\'вской темы, наверняка что-то интересное есть. Кроме того, вроде бы есть на XML какие-то наработки по поводу описания данных, их хранения и языка запросов для их извлечения.
 в исканиях.

Оффлайн flymio

  • Завсегдатай
  • Новичок
  • *
  • Сообщений: 34
  • +0/-0
  • 0
    • Просмотр профиля
    • http://notlj.ru
ага)))
« Ответ #6 : 28 Декабря 2001, 06:03:33 »
>Смысел в чём ? ...
>Смысел в том, чтобы не используя готового модуля (XML)
Вот вот ... а XML::Parser - сразу отбрасывается ...
будем думать, что он медленный)))
1) он не очень удобен
2) он возвращает данные не в том виде, к котором бы хотелось, а в нём сидеть копаться ... эээ ... не очень то хотелось ...

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

Оффлайн Green Kakadu

  • Координатор
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 2757
  • +1/-0
  • 0
    • Просмотр профиля
    • http://gnezdo.webscript.ru
а как наоборот?
« Ответ #7 : 31 Декабря 2001, 03:37:14 »
Цитировать
нужно написать скрипт, который бы производил быстрый парсинг и разбивку, его я почти доделал ...

А можно глянуть?
 в исканиях.

Оффлайн flymio

  • Завсегдатай
  • Новичок
  • *
  • Сообщений: 34
  • +0/-0
  • 0
    • Просмотр профиля
    • http://notlj.ru
таинственное манит?
« Ответ #8 : 03 Января 2002, 13:40:38 »
>а как наоборот?
наоборот - это из хеша стоить xml код ... вот)))
рабочий вариант в смысле кода пока не могу выложить ... много есть багов ...


если будут какие то идеи-мысли, пишите...

mio@rosclub.ru....


таинственное манит? - http://sunfaa.rosclub.ru

Оффлайн Green Kakadu

  • Координатор
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 2757
  • +1/-0
  • 0
    • Просмотр профиля
    • http://gnezdo.webscript.ru
а как
« Ответ #9 : 03 Января 2002, 14:30:36 »
Цитировать
наоборот - это из хеша стоить xml код ... вот)))

а из какого хеша - просто хеша или хеша хешей?
Я имею ввиду, как вложения должны выглядеть?
Как (хотя бы в теории) это в хеше представляется:

mio
21 nov, 13:34 [Wed];
index.html
 в исканиях.

Оффлайн flymio

  • Завсегдатай
  • Новичок
  • *
  • Сообщений: 34
  • +0/-0
  • 0
    • Просмотр профиля
    • http://notlj.ru
хеша хешей)))
« Ответ #10 : 05 Января 2002, 19:34:39 »
ессно хеша хешей...


$tree->{system}->{user}=\'mio\';
оно же ...
$tree->{system}->{user}->{content}=\'mio\';

.............
$tree->{system}->{date}=\'21 nov, 13:34 [Wed];\';
$tree->{system}->{path}=\'index.html\';

Оффлайн Green Kakadu

  • Координатор
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 2757
  • +1/-0
  • 0
    • Просмотр профиля
    • http://gnezdo.webscript.ru
а...
« Ответ #11 : 05 Января 2002, 23:40:36 »
Цитировать
ессно хеша хешей...

Цитировать
$tree->{system}->{user}->{content}=\'mio\';

Цитировать
Вот вот ... а XML::Parser - сразу отбрасывается ...
будем думать, что он медленный)))


Это я к тому, что будет ли получившееся быстрее? По идее, получается, что кол-во вложений чуть ли не беспредельное, учитывая, что должно быть нечто универсальное.. получаем что XML::Parser может быть и не так уж медленен, к тому же сам XML::Parser - это лишь надстройка над более низкоуровневым модулем, написанном на C.

[foo, [{}, head, [{id => ``a\'\'}, 0, ``Hello \'\', em, [{}, 0, ``there\'\']], bar, [ {}, 0, ``Howdy\'\', ref, [{}]], 0, ``do\'\' ] ]
 
если присмотреться - вполне ничего, и его можно преобразовать к необходимому виду.

http://www.flymio.com/affina  - жалко что ничего не увидел, стало очень интересно, особенно после ведьмочки Фаа.
« Последнее редактирование: 05 Января 2002, 23:49:31 от Green Kakadu »
 в исканиях.

Оффлайн flymio

  • Завсегдатай
  • Новичок
  • *
  • Сообщений: 34
  • +0/-0
  • 0
    • Просмотр профиля
    • http://notlj.ru
....
« Ответ #12 : 06 Января 2002, 16:21:44 »
ну не ... вот как раз первое преобразование будет всё таки быстрее ...


а вот насчёт из хеша-хешей ... то Вы  скорее всего правы, хотя, можно самому на си написать  ... без некоторых дополнительных особенностей XML::Parser ...

А разбивка их XML в хеш хешей всё таки работает быстрее ... осталось чуть чуть доработать вложенности с CDATA ... и можно показывать ...

Насчёт афины - site engine - создание, связывание разделов, страниц ... перегенерирование после изменения ... свои сценарии для связывания, создания динамики ...


Сейчас обновляю ... а мой сайт кажись умер ... вернее точно умер ... после падения сервера ... буду восстанавливать ...
эх ... так вот всегда ... на самом интересном месте ... )))

 

Sitemap 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28