Çë°ïæÓÃvc++½âÎöxmlÎļþ - VC/MFC / HTML/XML
ÏÖÔÚÐèÒª×ö¸öÈí¼þÀ´½âÎöxml¸ñʽµÄÎļþ£¬Çë´óÏÀßø¸öÏà¹ØµÄÀý×Ó£¬ÖªµÀһϣ¬¸Ð¼¤²»¾¡£¡£¡£¡ÓÐÀý×Ӿ͸ø·ÖŶ£¡£¡£¡
ÓÃ MSXML
¸øÄãÒ»¶ÎÎÒÔÀ´Ð´µÄÒ»¶Î´úÂ룬ÓÐʲô²»Ã÷°×µÄ×Ô¼ºÈ¥²é×ÊÁϰɣ¬²»ËãÌ«ÄÑ
C/C++ code:
MSXML2::IXMLDOMDocumentPtr pXMLDom;
HRESULT hr;
hr= pXMLDom.CreateInstance(__uuidof(DOMDocument30));
if (FAILED(hr))
{
return FALSE;
}
pXMLDom->async = VARIANT_FALSE; // default - true,
if(pXMLDom->load(_T("Device.xml"))!=VARIANT_TRUE)
{
MessageBox(_T("¼ÓÔØÅäÖÃÎļþʧ°Ü"));
return FALSE;
}
else
{
MSXML2::IXMLDOMNodePtr node;
MSXML2::IXMLDOMNodeListPtr list;
list = pXMLDom->selectNodes(_T("//Road/*"));
if(list == NULL)
{
MessageBox(_T("Î޼Ǽ"));
}
else
{
int j = list->length;
for(int i = 0;i<j;i++)
{
node = list->item[i];
//½ÚµãÃû³Æ
CString Nodename = node->nodeName;
if(Nodename.Compare(_T("RoadName")) == 0)
{
//½«Â·¿ÚÃûдÈëÊ÷¿Ø¼þ
CString RoadName = node->text;
road = m_DeviceTree.InsertItem(RoadName,root);
Ïà¹ØÎÊ´ð£º
´ÓÊý¾Ý¿âÖвéѯһÕűíµÄÊý¾Ý
select ²¿ÃÅ,ÐÕÃû from tb
ÈçºÎ²ÅÄÜÉú³ÉÏÂÃæµÄxml¸ñʽÎļþ
<folder state="unchecked" label="È«²¿">
¡¡¡¡<folder state="unchecked" isBra ......
´ó¼ÒºÃ£¬ÕâÊÇÒ»¸öÖ÷ÒªÃæÏòc/c++/mfcµÄȺ£¬×î½ü½øÐÐÁËÒ»´Î´óÇåÀí£¬»¶Ó¸÷λ¸ßÊÖ¼ÓÈ룬ºÃѧ°®ÎʵÄÐÂÊÖ£¬Ò²¿ÉÒÔÉêÇëµÄ£¬ÉêÇë¸ñʽ Ö°Òµ£¨c/c++/mfc ÈÎѡһ»òÕ߶ࣩ ¹¤×÷ÄêÏÞ£¨Ñ§ÉúÖ±½Óд´ó¼¸£©¾ÍÐÐÁË£¬ÈëȺµÄÒªÇó¾ÍÊÇÒª» ......
´ó¼ÒºÃ£º
ÎÒÏëʵÏÖ¼ì²âµ½²åÈëSD¿¨ºó×Ô¶¯½«SD¿¨¸ñʽ»¯µÄ¹¦ÄÜ£¬²»ÖªC/C++ÖÐÓÐûÓиñʽ»¯UÅ̵ĺ¯Êý£¿
ÁíÍ⣬ÎÒ²»ÏëʹÓÃSHFormatDrive£¬ÒòΪÕâ¸öº¯Êý»áµ¯³öÊÇ·ñÒª¸ñʽ»¯µÄÌáʾ¿ò£¬ÎÒÐèÒªµÄÊÇϵͳ×Ô¶¯¸ñʽ»¯£¬¶ø²Ù×÷Õß² ......
ÔÚ¸ùĿ¼/libÖдæ·ÅÒ»¸ölog.c£¬log.h£¬²¢ÓÃÏÂÃæµÄÓï¾ä£º
gcc -c log.c
ar crv liblog.a log.o
±àÒë³öÒ»¸öliblog.a¾²Ì¬¿â£¬È»ºóÔÚÎļþ¼Ð£º/testfileÖд´½¨Ò»¸ötest.cºÍtestc.c£¬test.cÖÐÒýÓÃÁËtestc.cÖж¨ÒåµÄ·½·¨ ......
ÏÖÔÚÓиöxmlÎļþÊÇ<?xml version="1.0"?>
<?mso-application progid="Excel.Sheet"?>
<Workbook xmlns="urn:schemas-microsoft-com:office:spreadsheet"
xm ......