Xml, Vc++6.0

  • Автор темы VSergV
  • Дата начала
V

VSergV

Здравствуйте. Меня терзают вопросы: Возможна ли работа с *.XML - файлами в VC++6.0?? Если возможна то как??? Какие возможности приработе предоставляет нам VC++6.0???
Вопрос возни по причине той что мы писали все на VC++6.0 сейчас начали переходить к международным стандартам SEMI вот и возник вопрос сам посибе как считывать какрту пластины из XML - файла...
 
G

grigsoft

Встроенных - нет. TinyXML и аналоги вам помогут
 
V

VSergV

TinyXML - что это такое???

TinyXML - где егог можно достать(скачать) вместе с полным и подробным описанмием???...
 
G

grigsoft

Это все вопросы не в форум, а к гуглу.
 
V

VSergV

А вообще есть ли какие нибуть не встроеные средства типо ПЛАГИНОВ к VC++ 6.0 которые позволят писать приложения для работы с XML-файлами. Ведь VisualAssis тоже не встроеное средство а является как бы ПЛАГТНОМ своего рода к VC++ 6.0.
 
G

grigsoft

VA (как и все другие плагины) расширяет функциональность среды, а не твоего приложения. Ты TinyXML посмотрел? Чем не устраивает? А Expat, libxml2, rapidxml нашел в качестве альтернатив?
 
V

VSergV

Посмотрел TinyXML не получилось подключить к проекту вернее добавил в проект но выпали 6 или около того ошибок((( Подключал в проект два *.h и четыре *.cpp. На форуме читал что все должно прокатить ,но не прокатило(((( Почему?!!! Вопрос....((((
 
G

grigsoft

ну если 6 ошибок, то причины очевидны: первая, вторая и третья. Ну может еще и четвертая, но врядли.
 
V

VSergV

В общем выдает следующее и я не могу поныть почему ведь я сделал "Project->Add to project->Files" (добавил файлы tinystr.cpp, tinystr.h, tinyxml.cpp, tinyxml.h, tinyxmlerror.cpp, tinyxmlparser.cpp)кроме того прописал пути как нужно:
#include"tinyxml.h"
#include"tinystr.h"
и выскачили ошибки((((
Из-за чего может быть???HELP!!!!

Deleting intermediate files and output files for project 'WaferChordDraw - Win32 Debug'.
--------------------Configuration: WaferChordDraw - Win32 Debug--------------------
Compiling resources...
Compiling...
StdAfx.cpp
Compiling...
tinystr.cpp
d:\works\opengl\waferchorddraw\xmlparser\tinystr.cpp(117) : fatal error C1010: unexpected end of file while looking for precompiled header directive
tinyxml.cpp
d:\works\opengl\waferchorddraw\xmlparser\tinyxml.cpp(1889) : fatal error C1010: unexpected end of file while looking for precompiled header directive
tinyxmlerror.cpp
d:\works\opengl\waferchorddraw\xmlparser\tinyxmlerror.cpp(54) : fatal error C1010: unexpected end of file while looking for precompiled header directive
tinyxmlparser.cpp
d:\works\opengl\waferchorddraw\xmlparser\tinyxmlparser.cpp(36) : warning C4005: 'TIXML_LOG' : macro redefinition
d:\works\opengl\waferchorddraw\xmlparser\tinyxmlparser.cpp(34) : see previous definition of 'TIXML_LOG'
d:\works\opengl\waferchorddraw\xmlparser\tinyxmlparser.cpp(1639) : fatal error C1010: unexpected end of file while looking for precompiled header directive
Generating Code...
Error executing cl.exe.

WaferChordDraw.exe - 4 error(s), 1 warning(s)

Help me!!!
 
V

VSergV

Да блин я читал эту ошибку знаю Англ я не понимаю почему она выскакивет потому как на форуме написано подключи эти файлы и все будет работать!!! И Вообще даже если человек не знает Языка это не повод его выстывлять на посмешище(это так на будущее тем кто считает себя "оченьумными" умный человек не буде смеятся над недостатками др.)

А в моем случае обломись я язык знаю хоть и далек от совершенства))

Короче мне нужна помощь потому как я не понимаю где еще можно наити полноценную версию TinyXML. Очень нужен Парсер для обработи XML файлов и по возможности извлечение данных. Времени особо нет придумывать велосипед((
 
V

VSergV

Ну не знаю как подключать этот парсер. Кто знает помогите пожалуйста.
 
S

SunSanych

Ошибка "unexpected end of file while looking for precompiled header directive" означает, что VisualStudio не нашел файл с предкомпилированным заголовком.
Стандартно это файл "stdafx.h", который должен быть включен во все файлы с исходниками (*.cpp) для VisualC проектов. Так как tinyXML не использует предкомпилированного заголовка, то Вам нужно либо самому добавить в начало каждого cpp-файла

Код:
#include "stdafx.h"

Или отключить использование предкомпилированного заголовка в свойствах срр-файлов tinyXML.
Для этого:
1. Зайдите в Project Settings (Меню Project->Settings или Alt+F7).
2. Выделите файлы tinyXML в левом окне.
3. Справа будет две вкладки, перейдите на вкладку С/С++.
4. Выберите в Category "Precompiled Headers".
5. Выберите "Not using precompiled headers".

Попробуйте оба варианта, какой заработает.

P.S. Всё это я расписывал для VisualC 6.0. Для VisualStudio 2003-2005 идея и порядок действий тот же, только интерфейс немного другой. Я думаю разберетесь.
 

Kmet

Well-known member
25.05.2006
904
8
BIT
0
<!--QuoteBegin-VSergV+12:02:2008, 21:54 -->
<span class="vbquote">(VSergV @ 12:02:2008, 21:54 )</span><!--QuoteEBegin-->Языка это не повод его выстывлять на посмешище
[snapback]97829" rel="nofollow" target="_blank[/snapback]​
[/quote]
незнание - действительно не повод... а вот отсутствие способности самостоятельно справляться с проблема, решения, которых были описаны везде где только можно....
 
V

VSergV

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

VSergV

Для: SunSanych
Здравствуйте!!Вы писали про подключение файлов TinyXML толко мне не понятно как там подключаются textxml.cpp textxml.h и tinyxml.cpp tinyxml.h допишите пожалуйста очень прошу...

там header файл присутствует ведь....
 
G

grigsoft

Комментарий SunSanych'a полностью объясняет описанные тобой ошибки
 
S

SunSanych

Для VSergV

Здравствуйте!!Вы писали про подключение файлов TinyXML толко мне не понятно как там подключаются textxml.cpp textxml.h и tinyxml.cpp tinyxml.h допишите пожалуйста очень прошу...

Здравствуйте. Я тоже не совсем понял, что Вам не понятно (простите за каламбур).
Из Ваших сообщений ясно, что исходные файлы (*.h, *.cpp) TinyXML в проект Вы добавили (молодец).
(Хотя, только что посмотрел предыдущие Выши сообщения ещё раз и заметил, что файлы textxml.cpp, textxml.h Вы не упоминали, может забыли добавить в проект?)
У Вас полезли ошибки "unexpected end of file while looking for precompiled header directive" (печально, но не смертельно).
Если Вы добавили в самое начало *.cpp файлов TinyXML строку#include "stdafx.h" или отключили для этих файлов использование предкомпилированного заголовка, как я описывал выше, то эта ошибка должна исчезнуть. Возможно появятся другие, тогда пишите, будем их смотреть.

P.S. На всякий случай скажу, что я это TynyXML в глаза не видел, и ориентируюсь только на Ваше описание проблемы, ну и на собственный опыт сборки и использования сторонних библиотек в VisualC.
 
S

SunSanych

Для VSergV

Только что не поленился, нашел в сети сайт TinyXML и документацию:


Помятуя про Ваши сложности с интернетом, приведу здесь цитаты.

Пункт "To Use in an Application:"
To Use in an Application:
Add tinyxml.cpp, tinyxml.h, tinyxmlerror.cpp, tinyxmlparser.cpp, tinystr.cpp, and tinystr.h to your project.

Так-что эти textxml.cpp, textxml.h Вам ненужны.

Кроме того, если вы почитаете документацию, то узнаете, что в архиве с исходниками идут и файлы проектов для VisualC. Аж 4 штуки.

Windows project file for VC6
tinyxml: tinyxml library, non-STL
tinyxmlSTL: tinyxml library, STL
tinyXmlTest: test app, non-STL
tinyXmlTestSTL: test app, STL

Посмотрите их.
 
S

SunSanych

Для VSergV

Только что не поленился, скачал TinyXML 2.5.3.
Может этот путь для Вас окажется легче.
1. Открыл в VisualC 6.0 (Вы же в нем работаете?) файл tinyxml.dsw.
2. Скомпилировал. (Build F7). Все прошло на ура.
3. На выходе получилось: статическая библиотека tinyxml.lib (tinyxmld.lib если компилить Debug версию) в папке tinyxml\Release (tinyxml\Debug дебажная версия) и тестовое приложение tinyXmlTest.exe.
4. Теперь в Вашем проекте *.cpp файлы от TinyXML ненужны, можете удалить их из проекта, оставьте только файлы с расширением *.h
5. Подключите скомпилированную библиотеку tinyxml.lib (tinyxmld.lib) к Вашему проекту.
На всякий случай объясняю как:
- Скопируйте tinyxml.lib и tinyxmld.lib в папку с Вашим проектом.
- В свойствах проекта "Project Settings" идите на закладку "Link", Category "General" и в поле "Object/library modules" ДОБАВЬТЕ!!! для Release сборки - tinyxml.lib, для Debug - tinyxmld.lib.
- Жмите ОК.
- Build F7.

The end. Всё что знал, рассказал.
 
Мы в соцсетях:

Обучение наступательной кибербезопасности в игровой форме. Начать игру!