ÓÃVC++2005¶ÁXMLÎļþµÄСÀý×Ó
1¡£Ð´Ò»¸öxmlÎļþ
<?xml version="1.0" encoding="utf-8" ?>
- <root>
- <user id="101">
<name>abc</name>
<password>abc</password>
</user>
- <user id="102">
<name>ccc</name>
<password>ccc</password>
</user>
</root>
2¡£Ð½¨Ò»¸övc++2005¹¤³Ì ¿ÉÒÔÊǶԻ°¿ò¹¤³Ì ÒòΪֻÊǾÙÀý˵Ã÷
£¨1£©ÔÚ¶Ô»°¿òµÄ.HÎļþÌí¼Ó
#import "msxml3.dll"
using namespace MSXML2;
£¨2£©ÔÚ³õʼ»¯º¯ÊýÀïÌí¼Ó
try
{
CoInitialize(NULL);//³õʼ»¯COM×é¼þ
MSXML2::IXMLDOMDocumentPtr pDoc;
HRESULT hr=pDoc.CreateInstance(__uuidof(MSXML2::DOMDocument)) ;//´´½¨Ò»¸öCOM½ø³Ì
if(!SUCCEEDED(hr))
{
AfxMessageBox(_T("FAILSE"),MB_OK,NULL);
}
pDoc->load("d:\\user.xml");//xmlÎļþµÄµØÖ· ÎÒ·ÅÔÚDÅÌÏÂÁË Ò²¿ÉÒÔд³ÉÏà¶ÔµØÖ·
MSXML2::IXMLDOMNodeListPtr pNodeList=NULL;//¶¨Òå½ÚµãÁбí
pNodeList=pDoc->selectNodes("root/user");//Ñ¡Ôñ½Úµã
MSXML2::IXMLDOMNodePtr pSubNode;
CString strTemp;
for(int i=0;i<(pNodeList->Getlength());i++)//ÅжÏÓм¸¸ö½Úµã
{
pSubNode=pNodeList->nextNode()->selectSingleNode("name");
_bstr_t strRequestType=pSubNode->Gettext();
strTemp=strRequestType.operator char*();
AfxMessageBox(strTemp,MB_OK,NULL);
}
}
catch (...)
{
AfxMessageBox(_T("Òì³£"));
}
Ïà¹ØÎĵµ£º
Step 1£ºForm1 ÉÏÌí¼ÓÒ»¸öToolStripContainer¿Ø¼þ
Step2£ºÊµÏÖ´úÂë
private void Form2_Load(object sender, EventArgs e)
{
CMenuEx menu = new CMenuEx();
string sPath = "D:\\Menu.xml";//xmlµÄÄÚÈÝ
if (menu.FileExit())
&nb ......
±¾ÎĽéÉÜÁ˸÷ÖÖ½âÎö·½·¨£¬×ÅÖØ·ÖÎöÁ˸÷×ÔµÄÓÅȱµã:
½âÎöµÄÖØÒªÐÔ
¡¡¡¡½âÎöÎªÊ²Ã´ÖØÒª?ÒòΪËùÓÐ XML ´¦Àí¶¼´Ó½âÎö¿ªÊ¼¡£ÎÞÂÛʹÓø߲ã±à³ÌÓïÑÔ(Èç XSLT)»¹ÊǵͲã Java ±à³Ì£¬µÚÒ»²½¶¼ÊÇÒª¶ÁÈë XML Îļþ£¬½âÂë½á¹¹ºÍ¼ìË÷ÐÅÏ¢µÈµÈ£¬Õâ¾ÍÊǽâÎö¡£
¡¡¡¡½âÎöÎĵµÊ±ÃæÁٵĵÚÒ»¸öÑ¡ÔñÊDzÉÓÃÏֳɵĽâÎö¿â(»ù±¾ÉÏÿÖÖ±à³ÌÓïÑÔ¶¼Ó ......
Òë×ÔVault API°ïÖúÎĵµÖÐһƪ Doug RedmondдµÄknowledgebase article. Doug's ²©¿ÍÊÇ It's All Just Ones and Zeros
ÄãÒ²Ðí²»ÖªµÀËùÓÐVault API Àà¶¼¿ÉÒÔ XML ÐòÁл¯ - ÕâÒâζןÜÈÝÒ×°ÑAPI¶ÔÏóת»»Îª XML Îı¾£¬·´Ö®ÒàÈ»¡£
ºÜ¶àÖÖÇé¿öÏ¿ÉÒÔʹÓô˹¦ÄÜ£¬ÀýÈ磺
Ëü¿ÉÒÔ°ïÖúÄúµ÷ÊÔ´úÂë¡£Èç¹ûÄú¾ßÓдóÁ¿Êý¾ÝµÄ¶ÔÏ ......