Çë°ïæÓÃ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);
Ïà¹ØÎÊ´ð£º
дÁ˸ö²âÊÔ³ÌÐòÈçÏÂ
struct hostent *hp;
char AlarmDevIP[20];
int x2;
hp = gethostbyname("www.google.com");
if (hp)
{
......
Private Sub Command1_Click()
Dim MyString() As String
Open "a.xml" For Binary As #1 ' ´ò¿ª¸Õ´´½¨µÄÎļþ¡£
ReDim MyString(LOF(1) - 1)
Put #1, , MyRecord ' ¶ÁÈëËùÓÐ×Ö·ûµ½±äÁ¿ÖÐ ......
ÎÒÓÐÒ»¸öÀàËƵÄxmlµÄ string£¬Ïëͨ¹ý±éÀúÔõô¸öxml Êä³öÎÒÏëÒªµÄelementµÄÖµ
xml Ϊ£º
<Discover xmlns="urn:schemas-microsoft-com:xml-analysis">
<RequestType>DISCOVER_XML_ME ......
ΪʲôÎҵijÌÐòµ÷ÓÃXMLÅäÖÃÎļþÖеİ¢À²®ÎÄÏÔʾ²»³öÀ´£¿ÆäËûµÄÓïÖÖ¶¼¿ÉÒÔ£¬ÈçÖÐÎÄ£¬Ó¢ÎÄ£¬µÂÎĶ¼¿É¡£
ÎÒ½«XMLµÄ±àÂë¸ÄΪutf-8ºÍunicodeµÄµ½µÃ½á¹û¶¼Ò»Ñù.
°¢À²®ÎĵÄ×Ö¿âÄãÓÐô£¿
ÓÐ,ÎÒµÄEXEÊÇ·ÅÔÚpc»úÉÏÖ´Ðе ......
XMLÎļþÄÚÈÝ£º
- <ResList>
<page>0</page>
- <resItem>
<resName>WWW</resName>
</resItem>
- <resItem>
&nb ......