![]() |
Модераторы: Daevaorn |
![]() ![]() ![]() |
|
Egeni |
|
|||
Новичок Профиль Группа: Участник Сообщений: 19 Регистрация: 21.5.2010 Репутация: нет Всего: нет |
у меня вопрос как читая построчно файл удалить в нем не целую строку, а оставить часть
файл состоит из нескольких строк <HTML><HEAD> <title>Название</title></HEAD> <body>многострочный текст Текст текст текст 3 текст</body> </HTML> как в массив закинуть содержимое body? я делаю без регулярных выражений у меня получается только если body открывается и закрывается в одной строке, если на разных то не получается |
|||
|
||||
Tima22 |
|
|||
Новичок Профиль Группа: Участник Сообщений: 41 Регистрация: 21.7.2010 Репутация: нет Всего: 1 |
я бы искал в каждой прочитанной строке нужное слово - например <HEAD>, стёр бы до следующего маркера - например до </HEAD> и потом, уже проверенные строки пихал бы в стреам
|
|||
|
||||
Modul |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 238 Регистрация: 17.2.2006 Репутация: нет Всего: нет |
Т.е. надо написать небольшой парсер.
Сделай цикл, через указатель найди <body>. Только тут лучше написать функцию сравнения строки. Берем следующий символ, записываем в массив. Так до тех пор, пока не встретим символ "<" и вышли из цикла. Это сообщение отредактировал(а) Modul - 25.7.2010, 12:39 --------------------
I'll be back ! |
|||
|
||||
djamshud |
|
|||
![]() Пердупержденный ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1655 Регистрация: 23.11.2009 Репутация: 8 Всего: 39 |
Постройте машину состояний, которя построит дерево разбора. А потом уже вытаскивайте оттуда, что душе угодно.
-------------------- 'Cuz I never walk away from what I know is right Alice Cooper - Freedom |
|||
|
||||
mrbrooks |
|
|||
![]() трололомен ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 4259 Регистрация: 4.10.2006 Где: Дол Гулдур Репутация: 2 Всего: 306 |
хм. а может не стоит городить костыли, а погуглить на наличие соответствующего парсера?
|
|||
|
||||
SenkraD |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 933 Регистрация: 3.2.2006 Где: Украина::Киев Репутация: 2 Всего: 23 |
mrbrooks, +1
Да, если HTML простой, то его проще регуляркой побить и не парить себе мозги (жрём проц), или же жрём оперативу за счёт XPath так, как простой HTML можно представить за XML |
|||
|
||||
![]() ![]() ![]() |
Правила форума "С++:Общие вопросы" | |
|
Добро пожаловать!
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Earnest Daevaorn |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | C/C++: Общие вопросы | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |