![]() |
|
Модераторы: korob2001, ginnie |
![]()
|
|
| shtuceron |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 161 Регистрация: 17.2.2008 Репутация: нет Всего: нет |
Здравствуйте, на сайте Извлечение строк из определенного интервала есть интересная конструкция
Как можно получить саму строку чтобы продолжить работать с ней? Спасибо! |
|||
|
||||
| Pfailed |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 933 Регистрация: 19.7.2009 Репутация: 22 Всего: 39 |
||||
|
||||
| shtuceron |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 161 Регистрация: 17.2.2008 Репутация: нет Всего: нет |
которая находится между /НАЧАЛЬНЫЙ ШАБЛОН/../КОНЕЧНЫЙ ШАБЛОН/
|
|||
|
||||
| Pfailed |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 933 Регистрация: 19.7.2009 Репутация: 22 Всего: 39 |
Ну первое что приходит в голову
|
|||
|
||||
| shtuceron |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 161 Регистрация: 17.2.2008 Репутация: нет Всего: нет |
Правильно ли я понимаю что при чтении файла конструкция вида
будет построчно перебирать строки в файле, а если это xml файл и закрывающий тег находится на другой строке это выражение не сработает, как в таком случае анализировать весь файл чтобы применить эту конструкцию или есть еще какие нибудь варианты поиска совпадения во всем файле??? |
|||
|
||||
| Pfailed |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 933 Регистрация: 19.7.2009 Репутация: 22 Всего: 39 |
Сработает, вы почитайте по вашей же ссылке из первого поста.
|
|||
|
||||
| shtuceron |
|
||||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 161 Регистрация: 17.2.2008 Репутация: нет Всего: нет |
Спасибо
но пока не все получается) я взяз для примера xml файл:
и пытаюсь его обработать:
на выходе я ничего не получаю: совсем не то что я жду, как же достучаться до имен??? Это сообщение отредактировал(а) shtuceron - 9.10.2011, 16:27 |
||||
|
|||||
| Pfailed |
|
||||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 933 Регистрация: 19.7.2009 Репутация: 22 Всего: 39 |
Это потому что начальный шаблон и конечный и то что между ними на одной строке.
Эта конструкция сработает для случаев когда строка между шаблонами не будет содержаться в строке с начальным или конечным шаблоном. Например:
Я надеюсь вы знаете про существование XML парсеров? С оператором диапазона можно сделать что-нибудь такое
Но это уже слишком громоздко. Советую поискать альтернативные пути, если это XML, то средств достаточно. |
||||
|
|||||
| shtuceron |
|
||||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 161 Регистрация: 17.2.2008 Репутация: нет Всего: нет |
Знаком, но не знаком ни с одним который бы мог вносить исправления по выбранным мною узлам (добавление/удаление/исправление атрибута или текстовому блоку) и сохранять исправления без обхода остальных узлов. XML::Simple читает весь xml в хеш, но ходить по нему (если я не знаю структуры xml документа) у меня почему то не получается( Пытаюсь делать так
ничего не происходит. |
||||
|
|||||
| alezzz |
|
|||
![]() сплю... ![]() ![]() Профиль Группа: Участник Сообщений: 499 Регистрация: 17.8.2009 Репутация: 1 Всего: 14 |
если не ошибаюсь то XML::Simple возвращает не хеш а ссылку (reference ) на хеш, почитайте внимательнее документацию, там есть примеры с испольхованием Data::Dumper;
|
|||
|
||||
| Pfailed |
|
||||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 933 Регистрация: 19.7.2009 Репутация: 22 Всего: 39 |
Посмотрите http://www.perlmonks.org/?node_id=712472 Помимо этого в документации XML::LibXML сказано
|
||||
|
|||||
![]()
|
| Правила форума "Perl" | |
|
|
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, korob2001, sharq. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Perl: Общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |