Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Доступ к XML DOM через Internet Explorer

2.2K
14 ноября 2002 года
Gin_Tonic
3 / / 02.11.2002
Есть такая ситуация. Есть уже загруженный в IE XML файл. Есть плагин написанный на Win32 API. Плагину надо каким-то образом получить доступ к XML DOM модели этого документа (т.е. что-то похожее на получение IHTMLDocument2 интерфейса). Если у кого есть какие соображения - просьба писать.
831
15 ноября 2002 года
S_T
117 / / 23.10.2002
Цитата:
Originally posted by Gin_Tonic
Есть такая ситуация. Есть уже загруженный в IE XML файл. Есть плагин написанный на Win32 API. Плагину надо каким-то образом получить доступ к XML DOM модели этого документа (т.е. что-то похожее на получение IHTMLDocument2 интерфейса). Если у кого есть какие соображения - просьба писать.



Попробуй так (это консольное приложение, на MSVC++6.0), только этот пример создает XML-ку. Но, я думаю, прочитать XML - можно без труда, если порыться по MSDN-у. По некоторым причинам, не могу переслать пример чтения, так как новый писать не хочется - а старый - закрытый код (не для чужих глаз)


#include "stdafx.h"
#import "msxml3.dll" named_guids
using namespace MSXML2;

int main(int argc, char* argv[])
{
IXMLDOMDocument2Ptr pXMLDoc = NULL;
IXMLDOMParseError* pError = NULL;
IXMLDOMNodeListPtr pNodeList = NULL;
IXMLDOMElementPtr pElement = NULL;
IXMLDOMNodePtr pChild = NULL;
IXMLDOMNodePtr pName = NULL;
HRESULT hr;
_variant_t vDocName( "proba.xml" );
_variant_t vNodeType;

hr = CoInitialize( NULL );

hr = CoCreateInstance( CLSID_DOMDocument, NULL, CLSCTX_INPROC_SERVER,
IID_IXMLDOMDocument, (void**)&pXMLDoc );
if( SUCCEEDED( hr ) ) {
vNodeType = (short)(NODE_ELEMENT);
pElement = pXMLDoc -> createNode( vNodeType, OLESTR( "proba" ), OLESTR( "" ) );
pChild = pXMLDoc -> createNode(vNodeType, OLESTR( "proba" ), OLESTR( "" ));
pElement -> appendChild( pChild );
pXMLDoc -> appendChild( pElement );
pElement -> appendChild( pElement);
pElement= pElement->firstChild;
pChild = pXMLDoc -> createTextNode( OLESTR( "sample" ) );
pElement-> appendChild( pChild );
pName = pXMLDoc -> createNode(vNodeType, L"name", L"");
pElement-> appendChild( pName );
pChild = pXMLDoc -> createTextNode( OLESTR( "sample2" ) );
pElement-> appendChild( pChild );

hr = pXMLDoc -> save( vDocName );
}

CoUninitialize( );

return 0;
}

Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог