#import "msxml.dll" named_guids raw_interfaces_only using namespace MSXML;
サンプル |
void GetRootTagName(){ //COMの初期化 if(FAILED(CoInitialize(NULL))){ // エラー処理 return; } IXMLDOMDocumentPtr pDoc; HRESULT hr = pDoc.CreateInstance(CLSID_DOMDocument); if(FAILED(hr)){ // エラー処理 return; } pDoc->put_async(VARIANT_FALSE); // load メソッドがロードを完了するまで待つようにする。 VARIANT_BOOL f; hr = pDoc->load(_variant_t(L"http://majissuka.com/NewInfo.xml"), &f);// アドレスは架空ですのであしからず; if((hr != S_OK) || !f){ // エラー処理 return; } IXMLDOMElementPtr pElemRoot; pDoc->get_documentElement(&pElemRoot); if(NULL == pElemRoot){ // エラー処理 return; } CComBSTR bstrText; pElemRoot->get_tagName(&bstrText); MessageBoxW(NULL, bstrText, L"テストアプリケーション", MB_OK); } |
IXMLDOMNodeListPtr nodeList; nodeItem->get_childNodes(&nodeList);
・・・・ LONG lLen; IXMLDOMNodePtr nodeAttrItem; nodeList->get_length(&lLen); for(int i = 0; i < lLen; i++){ nodeList->get_item(i, &nodeItem); ・・・ }
関数 | 解説 |
get_nodeName(CComBSTR bstrText) | ノードの名前を取得します |
get_attributes(IXMLDOMNamedNodeMapPtr nodeAttr) | 属性を取得します |
get_nodeValue(VARIANT val) | 値を取得します |
get_dataType(VARIANT type) | タイプを取得します |
IXMLDOMDocumentPtr pDoc; pDoc.CreateInstance( __uuidof(DOMDocument) ) ; pDoc->preserveWhiteSpace = VARIANT_TRUE; |
IXMLDOMNode* pRoot; ・・・・ IXMLDOMNode* pNode; pRoot->get_nextSbling(pNode); |
IXMLDOMNodePtr pRoot; ・・・・ IXMLDOMNodePtr pNode = pRoot->GetnextSbling(); |
IXMLDOMNode* pNode; while(pNode->get_nextSbling(pNode)){ ・・・ } |
IXMLDOMNode* pNode; IXMLDOMNodeList pNodeList = pRoot->GetchildNodes(); LONG lLen = pNodeList->Getlength(); for(LONG lLoop = 0; lLoop < lLen; lLoop++){ pNode = pNodeList->Getitem(lLoop); ・・・ pNode = NULL; } pNodeList = NULL; |