Чертов MSXML...VC++

Вопросы по языкам программирования Си и С++.
SLIM
Продвинутый гуру
Продвинутый гуру
Аватара пользователя
 
Сообщения: 1840
Зарегистрирован: 04.04.2008 (Пт) 18:21
Откуда: Краснодар

Чертов MSXML...VC++

Сообщение SLIM » 11.03.2010 (Чт) 23:03

Может мне уже здесь кто поможет (((

Собственно нужно распарсить XML-файл с помощью MSXML. Файл обычный такой. А вот распарсить не получается.
Может знатоки скажут, что не так?
Вот основной кусочек кода.
Код: Выделить всё
MSXML2::IXMLDOMDocument2Ptr xmlDoc (__uuidof(MSXML2::DOMDocument));

            xmlDoc->load("Config.xml");
            xmlDoc->setProperty("SelectionLanguage", "XPath");


            
            MSXML2::IXMLDOMNodeListPtr xmlNodeList      =xmlDoc->getElementsByTagName((_bstr_t)TEXT("List"));
            MSXML2::IXMLDOMNodeListPtr xmlNodeList_Aux     =NULL;

            MSXML2::IXMLDOMNodePtr xmlNode      =NULL;
            MSXML2::IXMLDOMNodePtr xmlNode_Aux   =NULL;

            
            if(xmlNodeList){
               for (int i=0;i<xmlNodeList->Getlength();i++){

                  xmlNode=xmlNodeList->Getitem(i);
                  
                  xmlNodeList_Aux = xmlNode->GetchildNodes();

                  for (int j=0;j<xmlNodeList_Aux->Getlength();j++){

                     xmlNode_Aux   =xmlNodeList_Aux->Getitem(j);

                     if ((LPTSTR)xmlNode_Aux->nodeName==TEXT("ColumnItem")){

                        lv_Column.mask   =   LVCF_TEXT;
                        lv_Column.fmt   =   LVCFMT_LEFT;
                        lv_Column.pszText=   (LPTSTR)xmlNode_Aux->Getattributes()->getNamedItem((_bstr_t)"Value")->nodeName; 

                        iAcc=(int)xmlNode_Aux->Getattributes()->getNamedItem((_bstr_t)"Index");

                        SendMessage(hLW_Test,LVM_INSERTCOLUMN,iAcc,(LPARAM)&lv_Column);
                     };
                  };
               };
            };



Что не так, понять не могу. Самое интересное что я постоянно меняю код, эксперементирую, изучая объектную модель. Пять минут назад работал. Что изменил понять не могу. Вроде все так и оставил. Проблему выявить тоже не могу. Ошибку не вижу - т.е. исключение не генерируется. я выяснил что xmlNodeList таки создается, но вот как доходит до for, сразу переходит в секцию catch, но по _com_error нифига нет. В общем чушь какая-то.

Закомментив половину, я выяснил что xmlNodeList таки создается. Попробовал что-нибудь написать в MessageBox, но уже здесь генерировалось "неправильный указатель". Почему и где - это уже вопрос. Например через Getlength() я не могу и никогда не мог засунуть результат в какую-то переменную. А вот в цикле почему-то задавалась верхняя граница (правда я тогда не отлаживал).

НУ в общем как-то так стоит проблема. Подскажите кто чем может

Собственно я пробовал менять getElementsByTagName на selectNodes - они оба возвращают коллекции Node-ов. Но тогда вообще не работал. С getElementsByTagName хоть получалось.

И еще. Я сначала писал проект под VS 2005 - но он неправильно генерировал COM-обертки при #import, особенно для Excel, поэтому проект вообще не запускался. Пришлось немного поменять на VS 98, вроде Exce, ADO, MSXML заработали наконец. Так вот я думаю, может и здесь косяк в генерации оберток? Например
Пишите жизнь на чистовик.....переписать не удастся.....

SLIM
Продвинутый гуру
Продвинутый гуру
Аватара пользователя
 
Сообщения: 1840
Зарегистрирован: 04.04.2008 (Пт) 18:21
Откуда: Краснодар

Re: Чертов MSXML...VC++

Сообщение SLIM » 12.03.2010 (Пт) 20:30

У меня такое ощущение что я стою в BlackList-е у большинства участников. Уже который топик без ответа.

Где сторожилы форума? Не уж то никто ответить не может? Ну хоть что-то?
Пишите жизнь на чистовик.....переписать не удастся.....

Денис
Доктор VB наук
Доктор VB наук
Аватара пользователя
 
Сообщения: 2734
Зарегистрирован: 07.11.2006 (Вт) 13:55
Откуда: Ейск, Краснодарский край

Re: Чертов MSXML...VC++

Сообщение Денис » 12.03.2010 (Пт) 21:44

Пощади! Мы ж не сишники.
Программирование — богоизбранная дисциплина! Если бог и есть, то вселенную он скомпилировал, не иначе.

SLIM
Продвинутый гуру
Продвинутый гуру
Аватара пользователя
 
Сообщения: 1840
Зарегистрирован: 04.04.2008 (Пт) 18:21
Откуда: Краснодар

Re: Чертов MSXML...VC++

Сообщение SLIM » 12.03.2010 (Пт) 22:03

Ну...уже хоть что-то.)))
Пишите жизнь на чистовик.....переписать не удастся.....

Денис
Доктор VB наук
Доктор VB наук
Аватара пользователя
 
Сообщения: 2734
Зарегистрирован: 07.11.2006 (Вт) 13:55
Откуда: Ейск, Краснодарский край

Re: Чертов MSXML...VC++

Сообщение Денис » 12.03.2010 (Пт) 23:15

А давайте общаться!17
Программирование — богоизбранная дисциплина! Если бог и есть, то вселенную он скомпилировал, не иначе.

Dmitriy2003
Постоялец
Постоялец
 
Сообщения: 690
Зарегистрирован: 27.05.2003 (Вт) 22:47
Откуда: Deutschland

Re: Чертов MSXML...VC++

Сообщение Dmitriy2003 » 12.03.2010 (Пт) 23:25

Денис писал(а):А давайте общаться!17

Ты - бы, перестал - бы сливать наши ip-адреса кому попало, общительный ты наш :)

SLIM
Продвинутый гуру
Продвинутый гуру
Аватара пользователя
 
Сообщения: 1840
Зарегистрирован: 04.04.2008 (Пт) 18:21
Откуда: Краснодар

Re: Чертов MSXML...VC++

Сообщение SLIM » 12.03.2010 (Пт) 23:37

Денис писал(а):А давайте общаться!17

Мож ну его нафиг ))
Тут правда проблема уже (((

UPD
Кстати, раз уж пошел оффтопик в трепе, кто смотрел ролики на тему «Людей посмотревших сойдут с ума».
Я тут почитал, порылся. Интересно, но смотреть не захотелось.
Кто что считает по данному вопросу?
Пишите жизнь на чистовик.....переписать не удастся.....

Хакер
Телепат
Телепат
Аватара пользователя
 
Сообщения: 16477
Зарегистрирован: 13.11.2005 (Вс) 2:43
Откуда: Казахстан, Петропавловск

Re: Чертов MSXML...VC++

Сообщение Хакер » 13.03.2010 (Сб) 6:44

SLIM, в твоих сообщениях много злости.
—We separate their smiling faces from the rest of their body, Captain.
—That's right! We decapitate them.

SLIM
Продвинутый гуру
Продвинутый гуру
Аватара пользователя
 
Сообщения: 1840
Зарегистрирован: 04.04.2008 (Пт) 18:21
Откуда: Краснодар

Re: Чертов MSXML...VC++

Сообщение SLIM » 13.03.2010 (Сб) 8:52

Хакер писал(а):SLIM, в твоих сообщениях много злости.

Ну так я и злой )) Ок, буду считать это за мини-предупреждение.
Пишите жизнь на чистовик.....переписать не удастся.....

Хакер
Телепат
Телепат
Аватара пользователя
 
Сообщения: 16477
Зарегистрирован: 13.11.2005 (Вс) 2:43
Откуда: Казахстан, Петропавловск

Re: Чертов MSXML...VC++

Сообщение Хакер » 13.03.2010 (Сб) 10:41

Это не предупреждение в том смысле, в котором ты его понял. Это замечание по поводу внутреннего душевного равновесия, что-ли.
—We separate their smiling faces from the rest of their body, Captain.
—That's right! We decapitate them.

Денис
Доктор VB наук
Доктор VB наук
Аватара пользователя
 
Сообщения: 2734
Зарегистрирован: 07.11.2006 (Вт) 13:55
Откуда: Ейск, Краснодарский край

Re: Чертов MSXML...VC++

Сообщение Денис » 13.03.2010 (Сб) 12:22

SLIM писал(а):«Людей посмотревших сойдут с ума».

Кто что считает по данному вопросу?


Корни явления восходят к фильму звонок, в котором герои смотрят некое видео, а через 7 дней за ними приходит некое потустороннее существо. HE COMES.

Dmitriy2003 писал(а):Ты - бы, перестал - бы сливать наши ip-адреса кому попало, общительный ты наш :)


Любопытно, это такая затянувшаяся шутка, или ты действительно не врубаешься в суть моего юзербара?
Программирование — богоизбранная дисциплина! Если бог и есть, то вселенную он скомпилировал, не иначе.

Dmitriy2003
Постоялец
Постоялец
 
Сообщения: 690
Зарегистрирован: 27.05.2003 (Вт) 22:47
Откуда: Deutschland

Re: Чертов MSXML...VC++

Сообщение Dmitriy2003 » 13.03.2010 (Сб) 12:33

Денис писал(а):Любопытно, это такая затянувшаяся шутка, или ты действительно не врубаешься в суть моего юзербара?

Денис, в суть твоего юзербара, и врубаться не нужно, скажи ты писал этот сервис :?:

MIT
Мега гуру
Мега гуру
Аватара пользователя
 
Сообщения: 2211
Зарегистрирован: 17.09.2006 (Вс) 22:46

Re: Чертов MSXML...VC++

Сообщение MIT » 13.03.2010 (Сб) 12:44

Dmitriy2003 писал(а):скажи ты писал этот сервис?
Нет, я гарантирую это.

Dmitriy2003, а ты знаки препинания рандомно что ли расставляешь?..
Изображение
You can change your face, but can`t change your mind. No matter what you do.
Создайте еще более понятный интерфейс и мир создаст еще более тупого юзера. (с) Баш

Денис
Доктор VB наук
Доктор VB наук
Аватара пользователя
 
Сообщения: 2734
Зарегистрирован: 07.11.2006 (Вт) 13:55
Откуда: Ейск, Краснодарский край

Re: Чертов MSXML...VC++

Сообщение Денис » 13.03.2010 (Сб) 12:49

Dmitriy2003 писал(а):Денис, в суть твоего юзербара, и врубаться не нужно, скажи ты писал этот сервис :?:

Если хотите узнать, кто написал сервис, там внизу сайта координаты имеются.
Программирование — богоизбранная дисциплина! Если бог и есть, то вселенную он скомпилировал, не иначе.

Dmitriy2003
Постоялец
Постоялец
 
Сообщения: 690
Зарегистрирован: 27.05.2003 (Вт) 22:47
Откуда: Deutschland

Re: Чертов MSXML...VC++

Сообщение Dmitriy2003 » 13.03.2010 (Сб) 12:55

Денис писал(а):Если хотите узнать, кто написал сервис, там внизу сайта координаты имеются.

Забей, распаривать HTTP Header - могут многие.

MIT писал(а):Dmitriy2003, а ты знаки препинания рандомно что ли расставляешь?..

Забей, я уже на 8 лет далек от русского языка, а еще раньше больше с узбекским дружил, но увы и его совсем подзабыл.

SLIM
Продвинутый гуру
Продвинутый гуру
Аватара пользователя
 
Сообщения: 1840
Зарегистрирован: 04.04.2008 (Пт) 18:21
Откуда: Краснодар

Re: Чертов MSXML...VC++

Сообщение SLIM » 13.03.2010 (Сб) 23:31

Хакер писал(а):Это не предупреждение в том смысле, в котором ты его понял. Это замечание по поводу внутреннего душевного равновесия, что-ли.

М..может быть оно таковое и есть...
Денис писал(а):Корни явления восходят к фильму звонок, в котором герои смотрят некое видео, а через 7 дней за ними приходит некое потустороннее существо. HE COMES.

Нет, корни восходят к инциденту в Ваймонде, так как это раньше было. Когда неизвестный Хакер смог взломать телевизионный сигнал и передать что-то свое. Оказалось что там дело больше в звуке чем в видео, так как использовались биения, когда на стерео-наушники подаются два разных сигнала отличающиеся по каким-то показателям. Говорят что это влияет на психику человека, а конкретно вызывает чувство страха.
Позднее было много попыток сделать то же самое, и в России тоже.
А вот звонок - там более страшно было смотреть видео. Кстати фильм реально страшный если смотреть ночью и одному.
По поводу "БЕЗНОГИМ" я посмотрел, но при свете дня и обстановка была обычная, поэтому немного страшно, но не сильно. Но порывшись в комментариях на различных форумах - у некоторых даже слезы текли, причем таких людей было много.
В общем случае - это не стоит того чтобы ставить над собой эксперименты.



По поводу основного вопроса по теме.
В итоге проблема была в том, что файл XML был составлен неверно, и оказалось что MSXML обрабатывает только верные файлы. Точнее файл был верен, но он содержал тег <list> и, почему-то, его не смог переработать. Видимо, это какой-то зарезервированный тег.

Ну в общем проблема отошла, осталось еще доработать преобразование строк из класса _bstr_t в нормальный, виндовый вид.

Денис писал(а):Пощади! Мы ж не сишники.

Кстати тут сам C - это второстепенная весч.
Пишите жизнь на чистовик.....переписать не удастся.....

MIT
Мега гуру
Мега гуру
Аватара пользователя
 
Сообщения: 2211
Зарегистрирован: 17.09.2006 (Вс) 22:46

Re: Чертов MSXML...VC++

Сообщение MIT » 13.03.2010 (Сб) 23:43

SLIM писал(а):так как использовались биения, когда на стерео-наушники подаются два разных сигнала отличающиеся по каким-то показателям. Говорят что это влияет на психику человека, а конкретно вызывает чувство страха.
Бинаунарные волны?
Изображение
You can change your face, but can`t change your mind. No matter what you do.
Создайте еще более понятный интерфейс и мир создаст еще более тупого юзера. (с) Баш

iGrok
Артефакт VBStreets
Артефакт VBStreets
 
Сообщения: 4272
Зарегистрирован: 10.05.2007 (Чт) 16:11
Откуда: Сетевое сознание

Re: Чертов MSXML...VC++

Сообщение iGrok » 14.03.2010 (Вс) 0:24

MIT писал(а):Бинаунарные волны?

Только бинауральные.

"Бинаунарные" - это бред, появившийся в связи с тем, что какой-то долбодятел неправильно прочитал/услышал "бинауральные" и растиражировал на весь инет благодаря сайтам с популярными в последний год "аудионаркотиками"...
label:
cli
jmp label

Хакер
Телепат
Телепат
Аватара пользователя
 
Сообщения: 16477
Зарегистрирован: 13.11.2005 (Вс) 2:43
Откуда: Казахстан, Петропавловск

Re: Чертов MSXML...VC++

Сообщение Хакер » 14.03.2010 (Вс) 0:35

"Бинаунарные"

Двоеодинарные! Конфетка.
—We separate their smiling faces from the rest of their body, Captain.
—That's right! We decapitate them.

MIT
Мега гуру
Мега гуру
Аватара пользователя
 
Сообщения: 2211
Зарегистрирован: 17.09.2006 (Вс) 22:46

Re: Чертов MSXML...VC++

Сообщение MIT » 14.03.2010 (Вс) 0:39

Хакер писал(а):Конфетка
Это всё гугль :mrgreen:
Я вначале вбил это словосочитание в Гугле, но вбил на неверной раскладке, да еще и, очевидно, с опечатками. Ну а там и предложили вариант из разряда "возможно вы имели в виду". В слово не вглядывался, но нужная вики-статья была на первом месте.
Изображение
You can change your face, but can`t change your mind. No matter what you do.
Создайте еще более понятный интерфейс и мир создаст еще более тупого юзера. (с) Баш

iGrok
Артефакт VBStreets
Артефакт VBStreets
 
Сообщения: 4272
Зарегистрирован: 10.05.2007 (Чт) 16:11
Откуда: Сетевое сознание

Re: Чертов MSXML...VC++

Сообщение iGrok » 14.03.2010 (Вс) 1:04

MIT писал(а):В слово не вглядывался, но нужная вики-статья была на первом месте.

Как сказал бы Станиславский - "Не верю!". =)
Нету вики-статьи "бинаунарные волны". Есть только "бинауральные волны".
label:
cli
jmp label

MIT
Мега гуру
Мега гуру
Аватара пользователя
 
Сообщения: 2211
Зарегистрирован: 17.09.2006 (Вс) 22:46

Re: Чертов MSXML...VC++

Сообщение MIT » 14.03.2010 (Вс) 8:36

iGrok писал(а):Не верю!
Но ведь можно же взять и проверить:
Изображение
Изображение
You can change your face, but can`t change your mind. No matter what you do.
Создайте еще более понятный интерфейс и мир создаст еще более тупого юзера. (с) Баш

iGrok
Артефакт VBStreets
Артефакт VBStreets
 
Сообщения: 4272
Зарегистрирован: 10.05.2007 (Чт) 16:11
Откуда: Сетевое сознание

Re: Чертов MSXML...VC++

Сообщение iGrok » 14.03.2010 (Вс) 12:33

А, не заметил про словосочетание. ) Тогда верю. =)
label:
cli
jmp label

Денис
Доктор VB наук
Доктор VB наук
Аватара пользователя
 
Сообщения: 2734
Зарегистрирован: 07.11.2006 (Вт) 13:55
Откуда: Ейск, Краснодарский край

Re: Чертов MSXML...VC++

Сообщение Денис » 14.03.2010 (Вс) 13:14

SLIM писал(а):Нет, корни восходят к инциденту в Ваймонде

В Вайоминге? Так это фейк. Причем фейк 2000-ных годов (А Звонок, я напоминаю первый вышел в 1995 году).
Да, не спорю, растиражированный фейковый 333-333-333-ролик приписывают событиям 1987 года, но пройдись по энциклопедиям и посмотри сам, что показывали в 1987 году: куклы, политота.
...До бинауральных ритмов были еще два десятилетия.

В общем, подводя итог, мог сказать, что корни псевдо-вайоминга восходят к Звонку.
Программирование — богоизбранная дисциплина! Если бог и есть, то вселенную он скомпилировал, не иначе.

SLIM
Продвинутый гуру
Продвинутый гуру
Аватара пользователя
 
Сообщения: 1840
Зарегистрирован: 04.04.2008 (Пт) 18:21
Откуда: Краснодар

Re: Чертов MSXML...VC++

Сообщение SLIM » 14.03.2010 (Вс) 15:24

Не не, сами ритмы то были открыты еще ой ой ой когда.

Ну а виде считай да, от Звонка
Пишите жизнь на чистовик.....переписать не удастся.....


Вернуться в С/С++

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 1

    TopList  
cron