欢迎您访问我爱IT技术网,今天小编为你分享的编程技术是:【XML字符串的读写操作函数及示例程序】,下面是详细的分享!
XML字符串的读写操作函数及示例程序
// 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
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]="<inesmsg><msghead><version>LZD</version><root>ioio</root></msghead></inesmsg>";
char strele[1024]="//version//";
char textstr[1024]="NNYX";
char value[1024];
printf("The xmlstr is :\n%s\n\n",xmlstr);
xmlread(xmlstr,strele,value); //befor Update
printf("The Text of Element befor Update is: \n%s\n\n",value);
xmlupdate(xmlstr,strele,textstr);//Change the Text of "<version>" with "NNYX"
printf("The Updated xmlstr is :\n%s\n\n",xmlstr);
xmlread(xmlstr,strele,value);//after Update
printf("The Text of Element after Update is :\n%s\n\n",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:\n%s\n",(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 \n%s\n",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:\n%s\n",(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 \n%s\n",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();
}
}
}
}
以上所分享的是关于XML字符串的读写操作函数及示例程序,下面是编辑为你推荐的有价值的用户互动:
相关问题:c++文件怎么从文件中读出和写入字符串?
答:一般来说在C++语言中读取txt文件的信息有三种方法: 1、使用C语言标准文件I/O中的fopen()、fread()等等函数。示例如下(vc6.0下编译通过): #includeFILE*stream;void main(void){long l;float fp;char s[81];char c; stream=fopen("fscanf.out","... >>详细
相关问题:C语言文件操作的单字符读取
答:对文件的读和写是最常用的文件操作。在C语言中提供了多种文件读写的函数: 1.字符读写函数 :fgetc和fputc 2.字符串读写函数:fgets和fputs 3.数据块读写函数:freed和fwrite 4.格式化读写函数:fscanf和fprinf >>详细
相关问题:C语言 文件操作,要读取一个txt文件内容
答:在C语言中,文件操作都是由库函数来完成的。 要读取一个txt文件,首先要使用文件打开函数fopen()。 fopen函数用来打开一个文件,其调用的一般形式为: 文件指针名=fopen(文件名,使用文件方式) 其中,“文件指针名”必须是被说明为FILE 类型的指... >>详细
- 评论列表(网友评论仅供网友表达个人看法,并不表明本站同意其观点或证实其描述)
-
