Форум программистов, компьютерный форум CyberForum.ru

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
AndrSvirskiy
Сообщений: n/a
#1

ПОМОГИТЕ получить аттрибуты из XML документа, через DOM на VC++ - C++

15.10.2008, 18:14. Просмотров 810. Ответов 1
Метки нет (Все метки)

Вот кусок XML документа:

<node id='0002' typeindex='2'>
<nattr value='left:01968;top:06483;width:01537;height:01153;strokestyle:solid; angle:00; displaystate:yes; z-index:1; strokeweight:0.24pt' />
<nodeFields>
<fieldValue index='1' value=''>
<label_attr value='displaystate:no' />
</fieldValue>
<fieldValue index='2' value=''>
<label_attr value='displaystate:no' />
</fieldValue>
<fieldValue index='3' value=''>
<label_attr value='displaystate:no' />
</fieldValue>
<fieldValue index='4' value=''>
<label_attr value='displaystate:no' />
</fieldValue>
</nodeFields>
</node>
...

Я загрузил документ, и получил IXMLDOMSelection

IXMLDOMSelection oDOMSelection2(xmlDoc.selectNodes('node'));

IXMLDOMNode* pIXMLDOMNode = new IXMLDOMNode(oDOMSelection2.nextNode());

в общем доступился до этого(этих) нода.

КАК получить его аттрибуты (например id, typeindex, value в nattr (см XML документ))???
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
15.10.2008, 18:14     ПОМОГИТЕ получить аттрибуты из XML документа, через DOM на VC++
Посмотрите здесь:

Проверка корректности xml документа - C++
Нужно написать программу, которая проверяет закрытие тегов в xml документе. Подскажите пожалуйста.

Необходимо создать двумерный массив с количеством строк равным количеству полученных узлов xml документа. - C++
Необходимо создать двумерный массив с количеством строк равным количеству полученных узлов xml документа. Что не правильно в данном коде? ...

Помогите получить HDC принтера вывести печать текста функцией DrawText - C++
Написал программку (для бух.) и хочу сделать свою процедуру печати. Помогите получить HDC принтера с помощью CreateDC, вывести туда...

Помогите открыть файл через его путь - C++
Задача следующая : пользователю предлагается ввести путь до файла ( типа C:\\my_docs\1.txt), ну а прога должна открыть этот файл. Помогите...

Помогите переделать работу с массивом через указатели - C++
помогите оформить через указатели...понимаю,что элементарно....но я трамвай for(j=k; j&lt;=N; j++) { ...

Не могу получить строку через getline - C++
Есть класс class door { public: float squaredoor (); //функция расчета площади двери void printdoor ();...

Класс Прямая(Помогите реализовать построение прямой через 1 точку и параллельную ей прямую) - C++
Помогите дописать класс // Методы класса &quot;Прямая&quot; // ------------------------------------------------------------- //...

Как получить информацию о процессах через API? - C++
Здравствуйте, мне нужно написать программу для получения информации о процессах (имя, потоки, волокна, ID, приоритет и т.д.) не подскажете,...

Как получить пусть к папке exe через api - C++
GetModuleFileName даёт полный путь а как узнать папку?копилятор MinGW

Получить полный путь к файлу созданного через ofstream - C++
std::string name = &quot;kalyaka-balyaka&quot;; std::ofstream F(name, std::ios::out); std::cout &lt;&lt; &quot;Polniy put': &quot; &lt;&lt; ???; Создал файл в...


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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
St.ALKer
Сообщений: n/a
29.03.2009, 13:47     ПОМОГИТЕ получить аттрибуты из XML документа, через DOM на VC++ #2
Пункт1: Лучше пользоваться MS-овскими же smart pointer'ами (именя те же, что у интерфейсов, но удобнее, удаляется само, etc.)

Кусок кода (не мой, пояснять тож не буду, но работает

CString CMarkupMSXML::x_GetAttrib( MSXML::IXMLDOMNodePtr pNode, LPCTSTR szAttrib ) const
{
CString csAttrib;
CString attr(szAttrib); //ïðîáóåì íàïèñàíèå â upper è lower case
attr.MakeUpper();
MSXML::IXMLDOMNodePtr pAttrib;
HRESULT hr = pNode->Getattributes()->raw_getNamedItem( _bstr_t(attr), &pAttrib );
if ( SUCCEEDED(hr) && ((bool)pAttrib) )
{
_variant_t varVal = pAttrib->GetnodeValue();
if ( varVal.vt == VT_BSTR )
csAttrib = (LPCTSTR)_bstr_t(varVal.bstrVal);
}
else
{
attr.MakeLower();
hr = pNode->Getattributes()->raw_getNamedItem( _bstr_t(attr), &pAttrib );
if ( SUCCEEDED(hr) && ((bool)pAttrib) )
{
_variant_t varVal = pAttrib->GetnodeValue();
if ( varVal.vt == VT_BSTR )
csAttrib = (LPCTSTR)_bstr_t(varVal.bstrVal);
}
}
return csAttrib;
}

Удачи.
Yandex
Объявления
29.03.2009, 13:47     ПОМОГИТЕ получить аттрибуты из XML документа, через DOM на VC++
Ответ Создать тему
Опции темы

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