国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 開發(fā) > XML > 正文

XML字符串的讀寫操作函數(shù)及示例程序

2024-09-05 20:56:15
字體:
供稿:網(wǎng)友
 

以下為引用的內(nèi)容:

// 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();
   }
  }
 }
}

發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 芜湖县| 莲花县| SHOW| 离岛区| 当雄县| 恭城| 宜良县| 杂多县| 高密市| 通河县| 自治县| 常宁市| 靖边县| 宽甸| 米林县| 醴陵市| 兴安县| 资溪县| 涿鹿县| 镇巴县| 遂平县| 普定县| 永登县| 深泽县| 登封市| 陇南市| 安国市| 政和县| 汶川县| 乐亭县| 天祝| 印江| 宜良县| 永嘉县| 木兰县| 潍坊市| 共和县| 龙胜| 屯门区| 司法| 昌都县|