Ò׽ؽØÍ¼Èí¼þ¡¢µ¥Îļþ¡¢Ãâ°²×°¡¢´¿ÂÌÉ«¡¢½ö160KB

ʹÓÃMsXML¶ÁдXMLÎļþ

// MsXmlTest.cpp : ¶¨Òå¿ØÖÆÌ¨Ó¦ÓóÌÐòµÄÈë¿Úµã¡£
//
#include "stdafx.h"
#include "MsXmlTest.h"
#include <clocale>
#include "comutil.h"
#import "msxml4.dll"
#ifdef _DEBUG
#define new DEBUG_NEW
#endif
// ΨһµÄÓ¦ÓóÌÐò¶ÔÏó
CWinApp theApp;
using namespace std;
void WritePerson(MSXML2::IXMLDOMDocument2Ptr pDocument, MSXML2::IXMLDOMNodePtr pParentNode, CString name, long age)
{
//´´½¨Ò»¸ö<Person>½Úµã
MSXML2::IXMLDOMElementPtr pPersonNode = pDocument->createElement(_T("person"));
pParentNode->appendChild(pPersonNode);
//дÈëname
MSXML2::IXMLDOMElementPtr pPersonNameNode = pDocument->createElement(_T("name"));
pPersonNameNode->text = _bstr_t(name);
//дÈëage
MSXML2::IXMLDOMElementPtr pPersonAgeNode = pDocument->createElement(_T("age"));
pPersonAgeNode->text = _bstr_t(age);
pPersonNode->appendChild(pPersonNameNode);
pParentNode->appendChild(pPersonAgeNode);
}
void WritePersons()
{
MSXML2::IXMLDOMDocument2Ptr pXMLDocument;
pXMLDocument.CreateInstance(__uuidof(MSXML2::DOMDocument));
MSXML2::IXMLDOMElementPtr pPersonsNode = pXMLDocument->createElement(_T("persons"));
pXMLDocument->appendChild(pPersonsNode);
WritePerson(pXMLDocument, pPersonsNode, _T("chain"), 25);
WritePerson(pXMLDocument, pPersonsNode, _T("who"), 0);
pXMLDocument->save(_T("persons.xml"));
}
void ReadPersons()
{
MSXML2::IXMLDOMDocument2Ptr pXMLDocument;
pXMLDocument.CreateInstance(__uuidof(MSXML2::DOMDocument));
pXMLDocument->load(_T("persons.xml"));
MSXML2::IXMLDOMElementPtr pRootNode = pXMLDocument->documentElement;
//²éÕÒ<person>½Úµã.
MSXML2::IXMLDOMNodeListPtr pPersonNodes = pRootNode->selectNodes(_T("person"));
CString s;
long size = pPersonNodes->length;
for (int i = 0; i<size; i++)
{
MSXML2::IXMLDOMNodePtr pPersonNode = pPersonNodes->item[i];
MSXML2::IXMLDOMNodePtr pNameNode = pPersonNode->selectSingleNode(_T("name"));
MSXML2::IXMLDOMNodePtr pAgeNode


Ïà¹ØÎĵµ£º

DataTable.Select½øÐÐXMLÊý¾ÝµÄ²éѯ

×î½üÔÚ²©¿ÍÔ°´úÂëµÄÖØ¹¹ÖÐ, ÎÒ·¢¾õÓÃDataTable.Select½øÐÐXMLÊý¾ÝµÄ²éѯҲÊÇͦ·½±ãµÄ¡£
±ÈÈçÎÒÃǸù¾ÝUrlÖвÎÊýÖµ²éѯXMLÊý¾ÝÖÐÏàÓ¦½ÚµãµÄÊý¾Ý¡£
¼ÙÈçÎÒÃÇÓÐÕâÑùµÄXmlÊý¾ÝÎļþCatalog.xml:
<Navigation>
      <Catalog title="·Ç¼¼ÊõÇø" url="default.aspx?cate=2" rss="MainFeed.as ......

ʹÓÃVelocity+zip+xml¿ìËÙ¹¹½¨word2007Îĵµ

¼¼Êõ½éÉÜ
     ÔÚÒ»°ãµÄJavaÏîÄ¿ÖÐ,Éú³ÉwordÎĵµµÄʱºò,ÎÒÃÇ»áʹÓõ½jacobÀ´×÷ΪÎÒÃÇÉú³ÉwordÎĵµµÄ¹¤¾ß,µ«ÊÇjacobÊÇͨ¹ýʹÓÃJNIµ÷ÓÃdllÎļþÀ´ÊµÏÖ,ÕâÑùµÄ¹¤×÷·½Ê½´øÀ´Á˼«´óµÄÐÔÄÜ¿ªÏú.ÕâÀïÎÒÃDzÉÓÃVelocity+zip+xml¿ìËÙ¹¹½¨word2007Îĵµ,ËùÒÔ˵Õâ¸ö¼¼ÊõʵÏÖÓÐÒ»¶¨µÄ¾ÖÏÞÐÔ,Éú³ÉµÄ±ØÐëÊÇword2007Îĵµ ......

XML ÊôÐÔvsÔªËØ

Çë¿´ÏÂÃæµÄʾÀý£º
<person sex="female">
<firstname>Anna</firstname>
<lastname>Smith</lastname>
</person>
<person>
<sex>female</sex>
<firstname>Anna</firstname>
<lastname>Smith</lastname>
</person> ......

XMLÈëÞ«½âÖ®DTD Îļþ¸ñʽ¶¨Òå(XML DTD)

¡¡¡¡DTDʵ¼ÊÉÏ¿ÉÒÔ¿´×÷Ò»¸ö»ò¶à¸öXMLÎļþµÄÄ£°å£¬ÕâЩXMLÎļþÖеÄÔªËØ¡¢ÔªËصÄÊôÐÔ¡¢ÔªËصÄÅÅÁз½Ê½/˳Ðò¡¢ÔªËØÄܹ»°üº¬µÄÄÚÈݵȣ¬¶¼±ØÐë·ûºÏDTDÖе͍Òå¡£XMLÎļþÖеÄÔªËØ£¬¼´ÎÒÃÇËù´´½¨µÄ±ê¼Ç£¬ÊǸù¾ÝÎÒÃÇÓ¦ÓõÄʵ¼ÊÇé¿öÀ´´´½¨µÄ¡£ÏëÒª´´½¨Ò»·ÝÍêÕûÐԸߡ¢ÊÊÓ¦ÐÔ¹ãµÄDTDÊǷdz£À§Äѵģ¬ÒòΪ¸÷Ðи÷Òµ¶¼ÓÐËûÃÇ×Ô¼ºµÄÐÐÒµÌØµã£ ......

Êý¾Ý¿â²éѯXML½á¹¹£¬FOR XML PATH Óï¾äµÄÓ¦ÓÃ


/*
Êý¾Ý¿â²éѯXML½á¹¹£¬FOR XML PATH Óï¾äµÄÓ¦ÓÃ
*/
FOR XML PATH Óï¾äµÄÓ¦ÓÃ:
CREATE  TABLE TempTable(UserID int , UserName nvarchar(50));
insert into TempTable (UserID,UserName) values (1,'a')
insert into TempTable (UserID,UserName) values (2,'b')
select UserID,UserName from TempTable FOR ......
© 2009 ej38.com All Rights Reserved. ¹ØÓÚE½¡ÍøÁªÏµÎÒÃÇ | Õ¾µãµØÍ¼ | ¸ÓICP±¸09004571ºÅ