![]() |
|
Модераторы: bsa |
![]()
|
|
| bsa |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 9185 Регистрация: 6.4.2006 Где: Москва, Россия Репутация: 85 Всего: 196 |
Твоя предпоследняя и последняя строки не удовлетворяют твоему ТЗ.
|
|||
|
||||
| Goodilla |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 49 Регистрация: 10.10.2007 Репутация: 1 Всего: 1 |
Никакой разницы, ответ: error: key not found
|
|||
|
||||
| Goodilla |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 49 Регистрация: 10.10.2007 Репутация: 1 Всего: 1 |
Люди, товарищи, человеки! Если есть у кого код полного ДОМ или САХ парсера ХМЛ файлов на С++, помогите! Не знаю что делать. Уже многое пробовал - результат не идёт. Помогите, если у кого есть готовый код, очень хочу разобраться. Заранее спасибо!
|
|||
|
||||
| bsa |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 9185 Регистрация: 6.4.2006 Где: Москва, Россия Репутация: 85 Всего: 196 |
Goodilla, я тебе разве уже не говорил посмотреть tinyXML?
http://sourceforge.net/project/showfiles.php?group_id=13559 |
|||
|
||||
| xvr |
|
|||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 7046 Регистрация: 28.8.2007 Где: Дублин, Ирландия Репутация: 35 Всего: 223 |
http://xerces.apache.org/xerces-c/ (xerces) http://xmlsoft.org/ (libxml2) http://www.w3.org/XML/ & http://www.google.com/search?q=XML+parser |
|||
|
||||
| Goodilla |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 49 Регистрация: 10.10.2007 Репутация: 1 Всего: 1 |
Я уже сделал такой, с применением библиотек. Теперь, говорят, что можно сделать и без них. Я вот хочу научиться, а то уже несколько раз делал, всё равно не получается. То не убрать закрывающий тег, то не убрать верхний тег <?xml....?>. Я уже не знаю что делать. Мне тут помогали, но всё либо не то, либо не работает.
Если можете, то помогите с кодом удаления строки тега: <?xml = "ISO2424"?> и:</TITLE> Иными словами, как удалить закрывающий тег </> и тег <??> с содержимым внутри? Это сообщение отредактировал(а) Goodilla - 5.6.2008, 19:16 |
|||
|
||||
| anatox91 |
|
|||
![]() программист-самоучка ![]() ![]() Профиль Группа: Участник Сообщений: 699 Регистрация: 12.1.2008 Где: ++Украина.Крым++ Репутация: 1 Всего: 13 |
-------------------- The code is the design © Sony VAIO VGN-FW480J ![]() |
|||
|
||||
| xvr |
|
|||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 7046 Регистрация: 28.8.2007 Где: Дублин, Ирландия Репутация: 35 Всего: 223 |
Изначально неправильный подход - библиотеки не пытаются удалять что либо из xml текста что бы получить нечто, они РАЗБИРАЮТ структуру xml на составляющие части и работают с ними, а не с исходным текстом. SAX парсер с этой точки зрения наиболее простой, его базовая реализация займет не более 100 строк. |
|||
|
||||
| Goodilla |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 49 Регистрация: 10.10.2007 Репутация: 1 Всего: 1 |
Спасибо, anatox91!!
Спасибо, xvr! Я и не говорил, что библиотеки парсят, но ведь можно же без них обойтись? Скажите, вот команда: streambuf::snextc Можно ли её использовать как передвижение курсора с символа на символ? Вроде работает, но мне нужен переход в цикле while. Заранее спасибо |
|||
|
||||
| anatox91 |
|
|||
![]() программист-самоучка ![]() ![]() Профиль Группа: Участник Сообщений: 699 Регистрация: 12.1.2008 Где: ++Украина.Крым++ Репутация: 1 Всего: 13 |
можно
смотри: streambuf::snextc сначала инкрементирует указатель, а затем возвращает следующий символ, а streambuf::sbumpc сначала получает символ, а затем инкрементирует указатель(удобнее конечно ее использовать) пример с cplusplus.com:
еще: rdbuf() используется для получения указателя на буфер, а in_avail() для получения количества символов в буфере. Так что если использовать std::string то вполне реально реализовать Это сообщение отредактировал(а) anatox91 - 6.6.2008, 07:49 -------------------- The code is the design © Sony VAIO VGN-FW480J ![]() |
|||
|
||||
| bronislav |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 334 Регистрация: 29.1.2008 Где: Украина::Донецк Репутация: 2 Всего: 3 |
При чтении из файла строй структуру "дерево", а для выделения данных воспользуйся регулярными выражениями (они для этого как раз и предназначены).
например boost::regex -------------------- ![]() иногда проще и быстрей обойти лужу, даже если кажется что она мелкая и путь напрямик короче - ведь она может скрывать открытый люк (с) mes |
|||
|
||||
| Goodilla |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 49 Регистрация: 10.10.2007 Репутация: 1 Всего: 1 |
Это уже не требуется, спасибо. Скажите, а можно ли реализовать нахождения тега через getline();
|
|||
|
||||
| anatox91 |
|
|||
![]() программист-самоучка ![]() ![]() Профиль Группа: Участник Сообщений: 699 Регистрация: 12.1.2008 Где: ++Украина.Крым++ Репутация: 1 Всего: 13 |
можно получать строку до какого-то символа, который передается параметром delim (хотя я по-моему уже об этом говорил)
Это сообщение отредактировал(а) anatox91 - 6.6.2008, 14:34 -------------------- The code is the design © Sony VAIO VGN-FW480J ![]() |
|||
|
||||
| Goodilla |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 49 Регистрация: 10.10.2007 Репутация: 1 Всего: 1 |
Мде, не подходит. Надо сортировать, а я не то начал делать. Потом переделаю, поможете подкорректировать?
|
|||
|
||||
| Goodilla |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 49 Регистрация: 10.10.2007 Репутация: 1 Всего: 1 |
Привет, требуется опять помощь. Извините за такой объём вопросов.
Ситуация: Я хочу убрать это из главного кода, и поместить в файл .h, сделать как дополнительную функцию (void proverka(void)), которая будет вызываться в главный файл(platform.cpp) при необходимости. Вставка proverka(); в корневой код. Проблема: Пишет, что не найти файл, который проверять надо + ещё проблемы с переменными. Оно то и правильно, ведь он не находиться в гланом коде. Вопросы: Скажите, возможно ли реализовать поставленную задачу, если да, то как? Или это очень неудобно и долго? Заранее спасибо. Это сообщение отредактировал(а) Goodilla - 8.6.2008, 19:37 |
|||
|
||||
![]()
|
| Правила форума "C/C++: Для новичков" | |
|
|
Запрещается! 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, JackYF, bsa. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | C/C++: Для новичков | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |