C++ ²Ù×÷XMLµÄÍêÕûÀý×Ó——MSXMLƪ
д±¾ÎĵÄÄ¿µÄÊÇΪÁË·½±ã´ó¼ÒÁ˽âC++ MSXML²Ù×÷·½·¨¡£
µ±È»£¬C++ÖжÔMSXMLµÄµ÷ÓÃÓжàÖÖ£¬±¾ÎIJÉÓõķ½·¨ÊÇÍêÈ«²ÎÕÕMSXML SDKÌṩµÄÎĵµ½øÐвÙ×÷¡£
Èç¹ûÓÐʲô´íÎ󣬻¶ÓÖ¸Õý¡£
´úÂë¿ò¼ÜÊÇ»ùÓÚvs2008 MFC ¶Ô»°¿ò³ÌÐò£¨UNICODE£©¡£¶Ô»°¿ò³ÌÐòÐèÒª¶ÁÕß×Ô¼º´´½¨¡£
#include <msxml6.h>
#include <comutil.h>
#pragma comment(lib, "comsuppwd.lib")
void CXmlSampleDlg::OnBnClickedButton1()//°´Å¥Ê¼þ
{
CoInitialize(NULL);
CComPtr<IXMLDOMDocument> spXmldoc;
HRESULT hr = spXmldoc.CoCreateInstance(L"MSXML2.DOMDocument.6.0");
if(SUCCEEDED(hr))
{
VARIANT_BOOL isSuccessFul;
CComVariant varXmlFile(L"a.xml");
spXmldoc->put_async(VARIANT_FALSE);
HRESULT hr= spXmldoc->load(varXmlFile, &isSuccessFul);
if(isSuccessFul==VARIANT_TRUE)
{
CComBSTR bstrXml;
CComPtr<IXMLDOMElement> spRoot=NULL;
CComPtr<IXMLDOMElement> spTheBook=NULL;
CComPtr<IXMLDOMElement> spTheElem=NULL;
CComPtr<IXMLDOMNode> spNewNode=NULL;
hr = spXmldoc->get_documentElement(&spRoot);
spRoot->get_xml(&bstrXml);
AfxMessageBox(L"1, ÔʼµÄXML");
AfxMessageBox(bstrXml);
spXmldoc->createElement(L"book", &spTheBook);
spXmldoc->createElement(L"name", &spTheElem);
spXmldoc->put_text(L"ÐÂÊé");
spTheBook->appendChild(spTheElem, &spNewNode);
spTheElem.Release();
spNewNode.Release();
spXmldoc->createElement(L"price", &spTheElem);
spTheElem->put_text(L"20");
spTheBook->appendChild(spTheElem, &spNewNode);
spTheElem.Release();
spNewNode.Release();
spXmldoc->createElement(L"memo", &spTheElem);
spTheElem->put_text(L"ÐÂÊéµÄ¸üºÃ¿´¡£");
spTheBook->appendChild(spTheElem, &spNewNode);
spNewNode.Release();
spTheElem.Release();
spRoot->appendChild(spTheBook, &spNewNode);
spNewNode.Release();
spTheBook.Release();
spRoot->get_xml(&bstrXml);
AfxMessageBox(L"2, н¨Ò»±¾ÊéÍê³É");
AfxM
Ïà¹ØÎĵµ£º
´´½¨¿ÉÐòÁл¯µÄÀ࣬»òÕß´´½¨ÓÃÓÚ´¦Àí XML ÐòÁл¯ÀàµÄÀà¡£ Èç¹ûÄúÓµÓÐÃèÊöÒª¼ÓÔØ»ò±£´æµÄ XML Îļþ¸ñʽµÄ XML ¼Ü¹¹¶¨Òå (XSD)£¬ÇëʹÓà Xsd.exe ¹¤¾ß×Ô¶¯´´½¨ÕâЩÀà¡£ »¹¿ÉÒÔÊÖ¶¯´´½¨ÕâЩÀà¡£ ÈôҪʹÓà Xsd.exe ¹¤¾ß´´½¨¿ÉÐòÁл¯µÄÀ࣬Çë°´ÕÕÏÂÁв½Öè²Ù×÷£º
½«ÒÔÏÂÃèÊö¶©µ¥µÄ XSD ¼Ü¹¹±£´æΪ Po.xsd Îļþ£º
<xsd:sche ......
/*
*Ëã·¨ÔÀí£º½«Í¼G Öеı߰´È¨Êý´ÓСµ½´óÖðÌõ¿¼²ì,
* °´²»¹¹³ÉȦµÄÔÔò¼ÓÈëµ½TÖÐ(ÈôÓÐÑ¡Ôñʱ, ²»Í¬µÄÑ¡
* Ôñ¿ÉÄܻᵼÖÂ×îºóÉú³ÉÊ÷µÄȨÊý²»Í¬), Ö±µ½
* q(T) = p(G)-1Ϊֹ, ¼´ T µÄ±ßÊý = G µÄ¶¥µã1 Ϊֹ.
*Ëã·¨ÖÐÎÞȦÐÔµÄÅж¨±È½ÏÂé·³£¬Ó¦¸ÃÓñê¼Ç·¨×îºÃ£¬
*¶Ô¸÷¸ö·ÖÖ§µÄ¶¥µã±êºÅ¡£
*ÎÒû×Ðϸ¿ ......
1 ËùÓÐµÄ .java|.jsp|.html|.xml Ô´Îļþ¾ùʹÓÃutf-8±àÂë¸ñʽ±£´æµ½ÏµÍ³´ÅÅÌ¡£
È磺ÔÚEclipseÖбà¼Îļþ£¬Ñ¡ÖÐÎļþ´ò¿ªÓÒ¼ü²Ëµ¥Ñ¡ÔñÊôÐÔ£¬½«Îı¾Îļþ±àÂëÉèÖÃΪÆäËû²¢Ñ¡ÔñUTF-8£»Ò²¿ÉÒÔÔÚ
Eclipse——Ê×Ñ¡Ïî——³£¹æ——ÄÚÈÝÀàÐÍÖÐÉèÖø÷ÖÖÎļþµÄȱʡ±àÂ룬ÕâÑùÒÔºóËùÓеÄÎı¾Îļþ¶¼Ê¹ÓÃÍ³Ò ......
1.ÇóÏÂÃ溯ÊýµÄ·µ»ØÖµ£¨Î¢Èí£©
int func(x)
{
int countx = 0;
while(x)
{
countx ++;
x = x&(x-1);
}
......
ÏÈÇ°ÔÚ²âÊÔmysql connect c++½Ó¿ÚµÄʱºòÔËÐÐÆä¹Ù·½ÌṩµÄÀý×Ó
21.5.5.6. MySQL Connector/C++ Complete Example 2
The following code shows a complete example of how to use MySQL Connector/C++:
/* Copyright 2008 Sun Microsystems, Inc.
This program is free software; you can redistribute it and/or modify ......