VC¶ÔÓÚXMLµÄ½âÎöÒÔ¼°²Ù×÷
XMLµÄ²éÕÒ
#include <stdio.h>
#include <iostream>
#import <msxml4.dll>
#include <string>
using namespace std;
void Travel(MSXML2::IXMLDOMNodePtr pDOMNode)
{
if (pDOMNode->GetnodeTypeString()==(_bstr_t)"element") // »ñÈ¡½ÚµãÀàÐÍ
{
printf("%s: ", (char*)pDOMNode->GetnodeName()); // »ñÈ¡½Úµã±êÇ©Ãû³Æ
printf("%s ", (char*)(_bstr_t)pDOMNode->GetnodeTypedValue()); // »ñÈ¡½ÚµãÖµ
MSXML2::IXMLDOMNamedNodeMapPtr pDOMAttrList=pDOMNode->Getattributes(); // »ñÈ¡½ÚµãÊôÐÔÁбí
long nLen=pDOMAttrList->Getlength();
for (int j=0; j<nLen; j++)
{
MSXML2::IXMLDOMNodePtr pDOMAttr=pDOMAttrList->Getitem(j); // »ñȡָ¶¨ÊôÐÔ
printf("%s=", (char*)pDOMAttr->GetnodeName()); // »ñÈ¡ÊôÐÔÃû³Æ
printf("%s", (char*)(_bstr_t)pDOMAttr->GetnodeTypedValue()); // »ñÈ¡ÊôÐÔÖµ
}
printf("\n");
// IXMLDOMNodeListPtr
//pDOMNode->GetchildNodes();
for (MSXML2::IXMLDOMNodePtr pDOMChild=pDOMNode->GetfirstChild()
; pDOMChild!=NULL
; pDOMChild=pDOMChild->GetnextSibling())
Travel(pDOMChild);
}
}
int main(int argc, char *argv[])
{
CoInitialize(NULL); // ³õʼ»¯COM»·¾³
// atexit(Exit);
MSXML2::IXMLDOMDocumentPtr pDOMDoc;
pDOMDoc.CreateInstance(__uuidof(MSXML2::DOMDocument40)); // ´´½¨XMLDOMDocument¶ÔÏó
pDOMDoc->load("e:\\reg.xml"); // ¼ÓÔØXMLÎĵµ
MSXML2::IXMLDOMNodeListPtr pDOMNodeList=pDOMDoc->getElementsByTagName("List"); // ¸ù¾Ý±êÇ©»ñµÃ½ÚµãÁбí
long nCnt=pDOMNodeList->Getlength();
for (int i=0; i<nCnt; i++)
{
MSXML2::IXMLDOMNodePtr pDOMNode=pDOMNodeList->Getitem(i); // »ñȡָ¶¨½Úµã
//pDOMNodeList=pDOMNode->GetchildNodes();
//cout<<pDOMNodeList->Getlength();
Travel(pDOMNode);
Ïà¹ØÎĵµ£º
Ò»°ãÐÂÊÖͨ³£Ö»ÊÇʹÓÃÀàËÆµÄXerces,
TinyXMLÖ®ÀàµÄXML½âÎöxml£¬ÕâÖÖ·½Ê½Êµ¼ÊÉϺÜÀË·Ñʱ¼ä£¬×Ô¼º±àдºÜ¶à´úÂëÒ²ÈÝÒ׳ö´í¡£ÒòΪ£¬ËûÃǾ³£ÒªÐ´Ò»¸öXML¶ÔÏóEntityµÄÀ࣬²¢¸½×ÅÒ»¶Ñ¶ÔÏó½âÎöµÄcode¡£¹¤×÷Á¿±È½Ï´ó¡£Ê¹ÓÃXML
Schema¹¤¾ß£¬XSDÉè¼Æ¹¤¾ß£¬È»ºóͨ¹ý¹¤¾ßÉú³ÉEntityClassºÍPaser
class¡£ÎÒ²»ÖªµÀÕâÖÖ¼¼ÊõÈ·ÇÐµÄÆðÔ ......
ͨ³£ÔÚ²Ù×÷xmlµÄʱºò£¬¶¼ÊÇͨ¹ýinputstream£¨ºÜ¶àÇé¿öÏÂÊÇFileInputStream£©À´¶ÁÈëxml²¢×ªÎªdomµÄ£¬ºÜ¶àÈË»áÓöµ½ÕâÖÖÇé¿öÊý¾Ý²»ÊÇ´ÓÎļþ¶ÁÈëµÄ¶øÊÇ´ÓStringÖÐÈ¡µÃµÄ
ÓÚÊÇ»áʹÓÃ
InputStream in = new ByteArrayInputStream (str.getBytes());À´È¡µÃinputstream £¬µ«ÊÇÕâÖÖInputStreamÖÐÊý¾Ý±»×ª³ÉÁËbyteÊý×飬ËùÒÔתdom ......
/*Ñùʽ*/
<style type="text/css">
td{font-size:12px;}
.item{text-decoration:none;width:100%;height:100%; line-height:22px;cursor:default;color:Black;vertical-align:middle}
.staticTab{cursor:default;height:22px}
  ......