Форум программистов, компьютерный форум, киберфорум
Наши страницы

C++

Войти
Регистрация
Восстановить пароль
 
 
Рейтинг: Рейтинг темы: голосов - 84, средняя оценка - 4.81
Haappy
0 / 0 / 0
Регистрация: 21.06.2008
Сообщений: 20
#1

Анализ данных XML-документа - C++

21.06.2008, 15:58. Просмотров 10533. Ответов 39
Метки нет (Все метки)

Помогите с программой.
Нужно считать числовые данные(цена, частота мин, частота макс) из XML-документа в двухмерный массив и записать этот массив в текстовый файл. Вот XML

XML
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
<?xml version="1.0" encoding="UTF-8"?>
<headphones id="id1">
<title>Technics</title>
<Characteristic amount="24" unit="доллар">Цена</Characteristic>
<Characteristic amount="20" unit="герц">Частота мин</Characteristic>
<Characteristic amount="27" unit="кгерц">Частота макс</Characteristic>
</headphones>
<headphones id="id2">
<title>Sennheiser</title>
<Characteristic amount="29" unit="доллар">Цена</Characteristic>
<Characteristic amount="20" unit="герц">Частота мин</Characteristic>
<Characteristic amount="20" unit="кгерц">Частота макс</Characteristic>
</headphones>
<headphones id="id3">
<title>AKG</title>
<Characteristic amount="95" unit="доллар">Цена</Characteristic>
<Characteristic amount="15" unit="герц">Частота мин</Characteristic>
<Characteristic amount="22" unit="кгерц">Частота макс</Characteristic>
</headphones>
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
21.06.2008, 15:58
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Анализ данных XML-документа (C++):

Сбор и анализ данных в оперативной памяти - C++
Подскажите пожалуйста, какие вы знаете способы сбора данных из оперативной памяти(абсолютно любые способы) и соответственно что нить об...

StringGrid анализ, выборка и подсчет данных - C++ Builder
Доброго времени суток! Такой вопрос: у меня есть StringGrid в который заносятся ФИО студента и его оценки по различным предметам. ...

База данных с чтением и загрузкой в файл XML - C++ Builder
Плисс нужен исходник с базой данных в С++ Builder c чтением и загрузкой в XML файл..

Копирование определенного узла из одного XML в другой XML - C++ Builder
Подскажите пожалуйста как скопировать узел из одного XML в другой XML в C++ Builder 6 &lt;?xml version=&quot;1.0&quot; encoding=&quot;utf-8&quot;?&gt; ...

[XML] - Как правильно сохранить XML с уровнями и отступами? - C++ Builder
Приветы всем. Подскажите как правильно сохранить файл .xml чтобы сохранились отступы в уровнях и узлах? Есть такой простенький для...

[XML] Как отсортировать данные в XML? - C++ Builder
Друзья привет. В ранее созданой теме приводил пример .xml файла. Подскажите если мне нужно отсортировать такой хмл по File или Date,...

39
Vourhey
Почетный модератор
6487 / 2261 / 123
Регистрация: 29.07.2006
Сообщений: 12,534
24.06.2008, 13:06 #16
У тебя винда?
Смотрим тут и пробуем
Я в принципе, к чему. На винде есть такая штука удобная DOM. Можно ничего не ставить. Вот только код немного иной будет. Через OLE его использовать можно:
http://www.cyberforum.ru/delphi/thread7890/post40386.html#post40386
Правда, это на дельфе. Но смысл не меняется, тот же объект документа, объект для атрибута, для узла.
0
Haappy
0 / 0 / 0
Регистрация: 21.06.2008
Сообщений: 20
25.06.2008, 17:05  [ТС] #17
Не подскажете, где в коде прописывается путь до XML-документа?

Добавлено через 7 минут
Из-за чего возникает ошибка
error C2664: 'strcmp' : cannot convert parameter 1 from 'const xmlChar *' to 'const char *'
0
Vourhey
Почетный модератор
6487 / 2261 / 123
Регистрация: 29.07.2006
Сообщений: 12,534
25.06.2008, 17:25 #18
) в коде - нигде. Он передается в аргументе командной строки.
Ошибка возникает из-за того, что тип разный. У меня не возникало такой ошибки Попробуй привести к (char*) явно.
0
Haappy
0 / 0 / 0
Регистрация: 21.06.2008
Сообщений: 20
25.06.2008, 17:38  [ТС] #19
Цитата Сообщение от Vourhey Посмотреть сообщение
) в коде - нигде. Он передается в аргументе командной строки.
Тогда как мне сделать, чтобы передовался именно мой док? Я просто не знаю такого способа, когда писал что-то, всегда прописывал путь)
И ещё вопрос, Вы говорили что эта программа написанна не под винду, но если я поставил все библиотеки, она должна работать в винде и записывать в текстовый файл результат или надо менять код ?
0
Vourhey
Почетный модератор
6487 / 2261 / 123
Регистрация: 29.07.2006
Сообщений: 12,534
25.06.2008, 18:12 #20
Передай в аргументе командной строки свой путь.
Хех. Я не знаю, как она под виндой будет компилится. Работать-то так же будет. А вот для компилера, может, че и подправить надо будет.
0
Haappy
0 / 0 / 0
Регистрация: 21.06.2008
Сообщений: 20
25.06.2008, 18:21  [ТС] #21
т.е. например в этой строке
doc = xmlReadFile(argv[1], NULL, 0);
вместо argv[1] я прописываю например "C:\test.xml" ?
0
Vourhey
Почетный модератор
6487 / 2261 / 123
Регистрация: 29.07.2006
Сообщений: 12,534
25.06.2008, 19:02 #22
Угу.
0
Haappy
0 / 0 / 0
Регистрация: 21.06.2008
Сообщений: 20
25.06.2008, 19:20  [ТС] #23
спасибо

Добавлено через 13 минут
только вот как привести cur_node->name к типу (char*) ?
0
Vourhey
Почетный модератор
6487 / 2261 / 123
Регистрация: 29.07.2006
Сообщений: 12,534
25.06.2008, 19:34 #24
Господин, Вам С надо читать.
(char*)cur_node->name
0
Haappy
0 / 0 / 0
Регистрация: 21.06.2008
Сообщений: 20
25.06.2008, 20:10  [ТС] #25
понимаю, что надо, только вот сел за несколько дней до конца срока((

выскочила куча ошибок при компиляции

34 error LNK2001: unresolved external symbol "unsigned char * __cdecl xmlNodeGetContent(struct _xmlNode *)" (?xmlNodeGetContent@@$$J0YAPAEPAU_xmlNode@@@Z)

34 error LNK2001: unresolved external symbol "void __cdecl xmlFreeDoc(struct _xmlDoc *)" (?xmlFreeDoc@@$$J0YAXPAU_xmlDoc@@@Z)

34 error LNK2001: unresolved external symbol "struct _xmlNode * __cdecl xmlDocGetRootElement(struct _xmlDoc *)" (?xmlDocGetRootElement@@$$J0YAPAU_xmlNode@@PAU_xmlDoc@@@Z)

34 error LNK2001: unresolved external symbol "struct _xmlDoc * __cdecl xmlReadFile(char const *,char const *,int)" (?xmlReadFile@@$$J0YAPAU_xmlDoc@@PBD0H@Z)

34 error LNK2001: unresolved external symbol "void __cdecl xmlCheckVersion(int)" (?xmlCheckVersion@@$$J0YAXH@Z)

(((

Может библиотеки не правильно установил??
Я положил файл incov.h в D:\Program Files\Microsoft Visual Studio .NET 2003\Vc7\include и всё..нужно было ещё incov.dll и incov.lib ?
0
Vourhey
Почетный модератор
6487 / 2261 / 123
Регистрация: 29.07.2006
Сообщений: 12,534
25.06.2008, 20:39 #26
Подключи .lib файл для libxml (он, поди, libxml2.lib зовется). В опциях проекта. Он должен быть
Это не ошибки компиляции. Это ошибки линковки.
0
Haappy
0 / 0 / 0
Регистрация: 21.06.2008
Сообщений: 20
25.06.2008, 21:48  [ТС] #27
нашёл, только как сделать чтобы эта библеотека появилась в списке Additional dependencies ?
0
Vourhey
Почетный модератор
6487 / 2261 / 123
Регистрация: 29.07.2006
Сообщений: 12,534
26.06.2008, 00:59 #28
Да там опции линкера. У тебя написана получившаяся строка. Просто дописываешь имя либы.
0
Haappy
0 / 0 / 0
Регистрация: 21.06.2008
Сообщений: 20
26.06.2008, 12:16  [ТС] #29
34 fatal error LNK1181: cannot open input file 'libxml2.lib'
0
Vourhey
Почетный модератор
6487 / 2261 / 123
Регистрация: 29.07.2006
Сообщений: 12,534
26.06.2008, 12:20 #30
Если название либы верное, значит, она не в области видимости. То есть, не в пути указанным в PATH и не в директории программы.
0
26.06.2008, 12:20
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
26.06.2008, 12:20
Привет! Вот еще темы с ответами:

Модель XML документа, представление в виде дерева - Visual C++
Народ, может у кого есть програмка, необходимо &quot;Разработать объектную модель для представления XML документа в виде дерева&quot; или что то в...

Анализ XML документа - Java
Разобрал ДОМ-анализатором свой хмл, получив конечные элементы и всю их вложенность. Пускай конечный элемент Element name имеет вид: ...

Загрузка данных из XML документа. В RadioButton.Caption не отображается значение! - Delphi
Есть часть программы(тест), которая берет значения из XML файла(test.xml), по средствам XMLDocument и вставляет в RadioButton.Caption, но...

VBS Создание XML-документа из имеющегося шаблона с добавлением вводимых данных - VBScript/JScript
Добрый день! подскажите как будет выглядеть скрипт: запускаю, ввожу параметры в диалоговом окне номер телефона $num фио $fio mac...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
30
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.