ÔÚwinceϲ»ÄܽâÎöxml£¬²»ÄܼÓÔØ
::CoInitialize(NULL);
{
MSXML2::IXMLDOMDocument2Ptr pMyDoc=NULL;
pMyDoc.CreateInstance(__uuidof(MSXML2::DOMDocument));//
if(S_OK!=pMyDoc->load(TEXT("temp.txt")))
goto RETURN_FALSE;
if(pMyDoc==NULL)
goto RETURN_FALSE;
MSXML2::IXMLDOMNodeListPtr pNodeList=NULL;
MSXML2::IXMLDOMNodePtr pNodes=NULL;
pNodes=pMyDoc->selectSingleNode("ArrayOfString");
if(NULL==pNodes) goto RETURN_FALSE;
pNodeList=pNodes->childNodes;
if(NULL==pNodeList) goto RETURN_FALSE;
MSXML2::IXMLDOMNodePtr pNode=NULL;
for(int i=0;i <pNodeList->length;++i)
{
pNode=pNodeList->nextNode();
comboProvince.AddString(pNode->Gettext());
}
pMyDoc.Release();
}
RETURN_FALSE:
::CoUninitialize();
return false;
RETURN_TRUE:
::CoUninitialize();
return true;
Ö´Ðе½selectSingleNodeÖ®ºó·µ»ØµÄÊÇNULL,ÎÒ¸ÃÔõôµÃµ½´íÎóÏûÏ¢ÄØ£¿£¿
ÎÒ°Ñ´úÂë¸Ä³ÉÕâÑùÁË»¹ÊDz»ÐУ¬¼ÓÔØÊ§°Ü£¬¸ßÊÖ°ï°ïæ°É
HRESULT hr;
CComPtr <IXMLDOMDocument> m_iXMLDoc;
CComPtr <IXMLDOMElement> iRooterElm=NULL;
if(FAILED( m_iXMLDoc.CoCreateInstance( __uuidof( DOMDocument )))) goto RETURN_FALSE;
VARIANT_BOOL bSuccess=false;
m_iXMLDoc->put_async(FALSE);
m_iXMLDoc->put_resolveExternals(VARIANT_FALSE
Ïà¹ØÎÊ´ð£º
Êý¾Ý¿â±íÖÐÓÐÒ»ÁУ¨TranXml£©ÀàÐÍÊÇxml£¬´æ´¢µÄÊÇÀàËÆ
<fathernode>
<a>aaa
</a>
<b>bbb
</b>
</fathernode>
µÄÐÅÏ¢£¬²¢ÇÒͨ¹ý²éѯ·½· ......
ÔÚactionÖÐÖÁÉÙÓÐ4¸ö·½·¨£¬Ã¿¸ö·½·¨½ÓÊÜÒ»ÖÖÇëÇó£¬ÀýÈçËĸö·½·¨×î¼òµ¥µÄ¾ÍÊÇÔöɾ¸Ä²é£¬Ã¿Ò»ÖÖ²Ù×÷£¬ÐèҪУÑéµÄactionÊôÐÔÊDz»Í¬µÄ£¬Ð£ÑéÊôÐԵĹæÔòÒ²ÊDz»Í¬µÄ£¬ÔõôÑù²ÅÄÜʹÓÃxmlµÄÊäÈëУÑ飿
Èç¹ûÊÇʹÓÃactionName ......
ÎÒÏÖÔÚ×ö½Ó¿Úµ¼³ö£¬.NETƽ̨£¬¿ª·¢ÓïÑÔC#£¬Ïëµ¼³öXMLµÄÎı¾¸ñʽ¡£
ÏëµÃµ½ <?xml version="1.0" encoding="GBK"?>
µÄ±àÂë¸ñʽ£¡ÔõôÉèÖã¿Ð»Ð»£¡¼±£¡
¶¥
Ö»Òª±£´æÎªxml¸ñʽ£¬ ......
ÎÒÓÐÒ»¸öXML.ÏëÈ¡
<Portfolio _Name="XXXX" _Id="AUD" >
ÖеÄÊôÐÔ_IdµÄÖµ.µ«ÊÇÓÃÏÂÃæµÄÓï¾äºÃÏó²»ÐÐ.
XmlNode CId = xdoc_Msg.SelectSingleNode("/Portfolio");
&n ......
ÎʸöÎÊÌ⣬ÏëÎÊÎÊ´ó¼ÒÒ»°ãÔõô´¦ÀíXML,±ÈÈ磬ÏÂÃæÕâ¶Î´úÂ룬ÔÚ<participants>ÏÂÃæÓжà¸öparticipant£¬Ã¿¸öparticipantÏÂÃæÓÖÓÐÒ»¸örole£¬¶øÕâ¸öroleÊÇÔÚrolesÖÐÃèÊöµÄ
ÎÒÏëÎÊÒ»ÏÂ,ÕâÖÖÏ໥°üº¬µÄ¹ØÏµÓ¦¸ÃÔõô ......