Здравствуйте.
Может и мой вопрос окажится глупым прошу прошение.
1.Как устонавить tinyXml? я скочал tinyxml_2_5_2 верс. но там кроме проекта и доков нечего тету.(скопировать все cpp i h фаилы в каталог студии что ли?)
2.в tinyXml парсере можно испильзовать stl?
22.01.07 12:04: Перенесено модератором из 'C/C++' — Кодт
Здравствуйте, <Аноним>, Вы писали:
А>1.Как устонавить tinyXml? я скочал tinyxml_2_5_2 верс. но там кроме проекта и доков нечего тету.(скопировать все cpp i h фаилы в каталог студии что ли?) А>2.в tinyXml парсере можно испильзовать stl?
Насколько я помню, там есть директория "doc\" в которой находится документация, предназначеная для получения ответов на эти и многие другие вопросы.
А еще наводящий вопрос, ДЛЯ ЧЕГО и КАКИМ ОБРАЗОМ предполалагось использование парсера?
P.S. Обратите внимание на раздел "Using and Installing".
В документации конечно всё есть, сейчас её нет под рукой, не могу сказать где конкретно.
У меня всё так:
в проекте есть папка TinyXml со следующими файлами: tinystr.cpp tinystr.h tinyxml.cpp tinyxml.h tinyxmlerror.cpp tinyxmlparser.cpp
там где нужно пишу #include "tinyxml.h" и всё, пользуюсь.
библиотека может работать в двух режимах: с stl и без него. По умолчанию в tinyxml.h включена директива
#define TIXML_USE_STL
поэтому все методы stl-евские.
Re[3]: Использование tinyxml парсера
От:
Аноним
Дата:
22.01.07 08:36
Оценка:
Здравствуйте, thest, Вы писали:
T>В документации конечно всё есть, сейчас её нет под рукой, не могу сказать где конкретно. T>У меня всё так: T>в проекте есть папка TinyXml со следующими файлами: tinystr.cpp tinystr.h tinyxml.cpp tinyxml.h tinyxmlerror.cpp tinyxmlparser.cpp T>там где нужно пишу #include "tinyxml.h" и всё, пользуюсь.
я копирую эти фаилы в каталог.но линкер не как не может открыть tinyxml.h фаил
Здравствуйте, Аноним, Вы писали:
А>Здравствуйте, thest, Вы писали:
T>>В документации конечно всё есть, сейчас её нет под рукой, не могу сказать где конкретно. T>>У меня всё так: T>>в проекте есть папка TinyXml со следующими файлами: tinystr.cpp tinystr.h tinyxml.cpp tinyxml.h tinyxmlerror.cpp tinyxmlparser.cpp T>>там где нужно пишу #include "tinyxml.h" и всё, пользуюсь.
А>я копирую эти фаилы в каталог.но линкер не как не может открыть tinyxml.h фаил
А линкер его и не должен открывать. Компилятор наверное его просто не находит — значит в #include путь неправильный указан. Ну например если эти файлы находятся в папке TinyXml, то нужно и писать соответственно
#include "TinyXml\tinyxml.h"
Так работает?
Re[5]: Использование tinyxml парсера
От:
Аноним
Дата:
22.01.07 09:25
Оценка:
T>#include "TinyXml\tinyxml.h" T>Так работает?
нет так тоже error:fatal error C1083: Cannot open include file
А>error C2664: 'dump_to_stdout' : cannot onvert parameter 1 from 'TiXmlDocument *__w64 ' to 'const char *'
ну компилятор же все сказал, разве нет ?
он (компилятор) не видит никакой другой функции с именем 'dump_to_stdout', кроме 'void dump_to_stdout(const char* pFilename)', которая принимает С-style строку, а вовсе не TiXmlDocument *.
если такая функция тем не менее есть, включи заголовочный файл, где она обьявлена.
если она просто не видна, обьяви ее выше функции 'void dump_to_stdout(const char* pFilename)'.
если же ее вообще нет в природе, то чего ты хочешь ?
Здравствуйте, Аноним, Вы писали:
А>Здравствуйте. А>Может и мой вопрос окажится глупым прошу прошение. А>1.Как устонавить tinyXml? я скочал tinyxml_2_5_2 верс. но там кроме проекта и доков нечего тету.(скопировать все cpp i h фаилы в каталог студии что ли?) А>2.в tinyXml парсере можно испильзовать stl?
Очень давно, когда нам срочно понадобилось работать с XML, выбрали TinyXML.
Проект сам по себе не очень хороший, качество кода оставляет желать лучшего, НО! Но код простой,
можно быстро в нем разобраться, работает как под Linux, так и под Windows (больше нигде не пригодился).
Однако, со временем, когда появлялись все более сложные задачи и мудреные XML, пришлось переходить на Xerces.
Если используется студия, то файлы проекта лучше сделать самому, то же и для make или ant, как систем сборки.
В случае чего, можно не отходя от кассы исправить ошибку, если нужны не большие — отличное средство.
Как установить? Просто создай проект, импортируй файлы и скомпилируй. Или напиши свой скрипт сборки.
STL использовать можно и даже целесообразней это делать.
With regards,
Vladislav Lazarenko
Re[9]: Использование tinyxml парсера
От:
Аноним
Дата:
22.01.07 12:36
Оценка:
это пример из дока tinyXml a.
т.е. создается док .если он создался то загружаем его открываем и читаем функцией
dump_to_stdout( &doc );
т.е
TiXmlDocument doc(pFilename);
bool loadOkay = doc.LoadFile();
dump_to_stdout( &doc );doc вить боект с имемем фаила и почему я не могу передать функции сыллку на него?
Здравствуйте, Аноним, Вы писали:
А>это пример из дока tinyXml a. А>т.е. создается док .если он создался то загружаем его открываем и читаем функцией А>dump_to_stdout( &doc ); А>т.е А>TiXmlDocument doc(pFilename); А>bool loadOkay = doc.LoadFile(); А>dump_to_stdout( &doc );doc вить боект с имемем фаила и почему я не могу передать функции сыллку на него?
покажи где этот пример
Re[11]: Использование tinyxml парсера
От:
Аноним
Дата:
22.01.07 12:54
Оценка:
T>покажи где этот пример
example1.xml:
<?xml version="1.0" ?>
<Hello>World</Hello>
вот сама функц,
// load the named file and dump its structure to STDOUTvoid dump_to_stdout(const char* pFilename)
{
TiXmlDocument doc(pFilename);
bool loadOkay = doc.LoadFile();
if (loadOkay)
{
printf("\n%s:\n", pFilename);
dump_to_stdout( &doc ); // defined later in the tutorial
}
else
{
printf("Failed to load file \"%s\"\n", pFilename);
}
}
и маин
int main(void)
{
dump_to_stdout("example1.xml");
return 0;
}
Re[12]: Использование tinyxml парсера
От:
Аноним
Дата:
22.01.07 13:53
Оценка:
Здравствуйте, Аноним, Вы писали:
и еще один вопрос.какие либиы надо подключать при работе с tinyXml? ато у меня лимкер все время ругается когда обявленны следующие классы
TiXmlDocument
TiXmlDeclaration
Re[13]: Использование tinyxml парсера
От:
Аноним
Дата:
22.01.07 15:13
Оценка:
Здравствуйте, Аноним, Вы писали:
народ подсажи что за варнинги и такиь 18 штук?
error LNK2001: unresolved external symbol "protected: virtual class TiXmlNode * __thiscall TiXmlText::Clone(void)const " (?Clone@TiXmlText@@MBEPAVTiXmlNode@@XZ)
Пример отсюда, да http://www.grinninglizard.com/tinyxmldocs/tutorial0.html
Обрати внимание на строчки // defined later in the tutorial
Ты пытаешься пользоваться функцией
void dump_to_stdout( TiXmlNode* pParent, unsigned int indent = 0 )
а скопировать её забыл
Если хочешь скомпилировать этот пример, то возьми есго исходники ПОЛНОСТЬЮ, это там где написано Full listing for dump_to_stdout
Здравствуйте, Аноним, Вы писали:
А>Здравствуйте, Аноним, Вы писали: А>и еще один вопрос.какие либиы надо подключать при работе с tinyXml? ато у меня лимкер все время ругается когда обявленны следующие классы А>TiXmlDocument А>TiXmlDeclaration
В чём компилируешь? У меня VS2005 — ничего такого нет.
Re[14]: Использование tinyxml парсера
От:
Аноним
Дата:
23.01.07 14:52
Оценка:
Здравствуйте, thest, Вы писали:
T>Здравствуйте, Аноним, Вы писали:
А>>Здравствуйте, Аноним, Вы писали: А>>и еще один вопрос.какие либиы надо подключать при работе с tinyXml? ато у меня лимкер все время ругается когда обявленны следующие классы А>>TiXmlDocument А>>TiXmlDeclaration
T>В чём компилируешь? У меня VS2005 — ничего такого нет.
да у меня тоже 2005 стоит.но у неня ругается ошибки такого ранга.какие фаили надо скапировать в свой катталог проект а? и какие фаилы подключить?
error LNK2019: unresolved external symbol "public: bool __thiscall TiXmlDocument::LoadFile
Re[2]: Использование tinyxml парсера
От:
Аноним
Дата:
23.01.07 15:30
Оценка:
Здравствуйте, Lazarenko, Вы писали:
L>Как установить? Просто создай проект, импортируй файлы и скомпилируй. Или напиши свой скрипт сборки.
я так и зделал создал проект скопировал туда из каталога парсера все .h фаилы.включил в проект "tinyxml.h" и от компилил.
но вот беда ошибки пипа.
Здравствуйте, Аноним, Вы писали:
А>Здравствуйте, Lazarenko, Вы писали:
L>>Как установить? Просто создай проект, импортируй файлы и скомпилируй. Или напиши свой скрипт сборки. А>я так и зделал создал проект скопировал туда из каталога парсера все .h фаилы.включил в проект "tinyxml.h" и от компилил. А>но вот беда ошибки пипа. А>
А>rror LNK2001: unresolved external symbol "public:
А>
Понятно.
1. Нужно копировать не только h, но и cpp файлы. Вот список файлов, которые скопированы у меня:
tinystr.cpp
tinystr.h
tinyxml.cpp
tinyxml.h
tinyxmlerror.cpp
tinyxmlparser.cpp
2. Все эти файлы нужно включить в проект чтобы VS их компилировала, а не только tinyxml.h
Товарищи, кто-нибудь использовал TinyXML++? Заостряю внимание: не TinyXML, а TinyXML++!
Про TinyXML++ написано:
The TinyXML++ classes are all wrappers around the corresponding classes within TinyXML.
То есть она является оболочкой на TinyXML.
Где вот ее только взять? Везде указывается путь: http://code.google.com/p/ticpp/
Но там можно скачать только документацию, а саму библиотеку я там не нашел...
Подскажите пожалуйста, где ее можно взять?
Да, и кто пользовался TinyXML? Стоит ли ее вообще использовать в своем проекте?
Тут многие советуют xerces, но это более навороченная библиотека, а мне требуется простая функциональность.
Посоветуйте пожалуйста.
Здравствуйте, silart, Вы писали:
S>Да, и кто пользовался TinyXML? Стоит ли ее вообще использовать в своем проекте? S>Тут многие советуют xerces, но это более навороченная библиотека, а мне требуется простая функциональность. S>Посоветуйте пожалуйста.
если не нужен xpath, а нужно только парсить целиком файлы (например, настройки), то tinyxml можно легко использовать..
Здравствуйте, silart, Вы писали:
S>Где вот ее только взять? Везде указывается путь: http://code.google.com/p/ticpp/ S>Но там можно скачать только документацию, а саму библиотеку я там не нашел... S>Подскажите пожалуйста, где ее можно взять?
Здравствуйте, 8bit, Вы писали:
8>Здравствуйте, silart, Вы писали:
S>>Где вот ее только взять? Везде указывается путь: http://code.google.com/p/ticpp/ S>>Но там можно скачать только документацию, а саму библиотеку я там не нашел... S>>Подскажите пожалуйста, где ее можно взять?
8>Она лежит под svn. Там есть вкладочка Source где все написано. 8>svn checkout http://ticpp.googlecode.com/svn/trunk/ ticpp-read-only 8>http://code.google.com/p/ticpp/source/browse/#svn/trunk
8>з.ы. 8>Чем именно вам приглянулся TinyXML++?
То есть нужно все файлики по отдельности скачивать? А почему их интересно в один архив не скомпоновали?
Ну я посмотрел документацию на TinyXML++, мне С++ синтаксис больше понравился, чем простой TinyXML. Там классы даже в namespace не объединены. Странно это как-то.
Я TinyXML стал использовать потому что очень простая и я в нее быстро въехал. Мне не нужны пока никакие XPath и прочие крутые вещи. Нужно просто настройки передавать в формате xml, да события генерировать, чтоб строкой можно много различных параметров передать за раз и без изменения интерфейса событий.
Здравствуйте, silart, Вы писали:
S>То есть нужно все файлики по отдельности скачивать? А почему их интересно в один архив не скомпоновали?
Надо забирать через svn. Поставьте какой-нить TortoiseSVN и сделайте export репозитория.
Видимо архива нет потому что и релиза нет, а может просто им так захотелось.