下面是个XML字符串的读写操作函数及示例程序教程,撑握了其技术要点,学起来就简单多了。赶紧跟着图老师小编一起来看看吧!
【 tulaoshi.com - Web开发 】
以下为引用的内容:
// OpXML.cpp : Defines the entry point for the console application.
//
//----------------------- Coded By Ronk --------------------------//
//----------------------- 2005-07-17 --------------------------//
#include "stdafx.h"
#include stdio.h
//---You must Setup the MSXML4.0 before using
#import msxml4.dll
using namespace MSXML2;
void xmlread(char *ch1,char *ch2,char *ch3);//Read the xmlstr and Get the Text of the Element
(本文来源于图老师网站,更多请访问http://www.tulaoshi.com/webkaifa/)void xmlupdate(char *ch1,char *ch2,char *ch3);//Read the xmlstr and Update the Text of the Element
int main(int argc, char* argv[])
{
char xmlstr[1024]="inesmsgmsgheadversionLZD/versionrootioio/root/msghead/inesmsg";
char strele[1024]="//version//";
char textstr[1024]="NNYX";
char value[1024];
printf("The xmlstr is :%s",xmlstr);
xmlread(xmlstr,strele,value); //befor Update
printf("The Text of Element befor Update is: %s",value);
xmlupdate(xmlstr,strele,textstr);//Change the Text of "version" with "NNYX"
printf("The Updated xmlstr is :%s",xmlstr);
xmlread(xmlstr,strele,value);//after Update
printf("The Text of Element after Update is :%s",value);
return 0;
}
void xmlread(char* msgstr,char* elestr,char *tex)
{
//Initialize
CoInitialize(NULL);
IXMLDOMDocumentPtr pXmlDoc;
IXMLDOMNodePtr pXmlNode;
HRESULT hr;
hr = pXmlDoc.CreateInstance(__uuidof(DOMDocument));
if (FAILED(hr))
{
printf("Faild to Create XMLDom Instance !");
pXmlDoc=NULL;
}
else
{
pXmlDoc -async = VARIANT_FALSE;
//Load xmlmsg
_bstr_t xmlstr=(LPCSTR)msgstr;
if (!(pXmlDoc-loadXML(msgstr)))
{
printf("Failed to Load xmlstr:%s",(LPCSTR)pXmlDoc-parseError-Getreason());
pXmlDoc=NULL;
}
else
{
//Locate the Element
_bstr_t str=(LPCSTR)elestr;
pXmlNode = pXmlDoc -selectSingleNode(elestr);
if(FAILED(pXmlNode))
printf("Faild to Locate the Element %s",str);
else
{
//Read the Text of Element
strcpy(tex,(LPCSTR)pXmlNode -text);
//Realese
pXmlDoc.Release();
pXmlNode.Release();
}
}
}
}
void xmlupdate(char *msgstr,char *elestr,char *upstr)
{
//---Initialize
CoInitialize(NULL);
IXMLDOMDocumentPtr pXmlDoc;
IXMLDOMNodePtr pXmlNode;
HRESULT hr;
hr = pXmlDoc.CreateInstance(__uuidof(DOMDocument));
if (FAILED(hr))
{
printf("Faild to Create XMLDom Instance !");
pXmlDoc=NULL;
}
else
{
pXmlDoc -async = VARIANT_FALSE;
//Load xml str
_bstr_t xmlstr=(LPCSTR)msgstr;
if (!(pXmlDoc-loadXML(msgstr)))
{
printf("Failed to load xmlstr:%s",(LPCSTR)pXmlDoc-parseError-Getreason());
pXmlDoc=NULL;
}
else
{
//Located the Element
_bstr_t str=(LPCSTR)elestr;
pXmlNode = pXmlDoc -selectSingleNode(elestr);
if (FAILED(pXmlNode))
printf("Failed to Locate the Element %s",str);
else
{
//Update the Text of the Element
pXmlNode-text = upstr;
//Get the New xmlstr
strcpy(msgstr,(LPCSTR)pXmlDoc-xml);
//Realese
pXmlDoc.Release();
pXmlNode.Release();
}
}
}
}
来源:http://www.tulaoshi.com/n/20160219/1622515.html
看过《XML字符串的读写操作函数及示例程序》的人还看了以下文章 更多>>