MSXML读写的例子

MSXML读取XML文件 <br />源代码如下:(环境vs2005)希望对不熟悉的人有所帮助<br /> <br />#include <windows.h><br /> #include <msxml.h><br /> #import "msxml.dll" rename_namespace("xml") <br /> <br />int _tmain(int argc, _TCHAR* argv[])<br /> {<br />     CoInitialize(NULL) ;  <br />     xml::IX 阅读详情
1、目标文档:  

 <book id="bk101">
      <author>lizlex</author>
      <title>XML Developer's Guide</title>
   </book>

2、步骤:

(1)在StdAfx.h中引入动态链接库 MSXML.DLL(C:/windows/system32/msxml4.dll)
 #import <msxml4.dll>

(2)界面设计:
分别放入三个Text,用于输入数据,与显示文档内容用,并添加关联的成员变量m_strId,m_strAuthor, m_strTitle;并添加确定按钮:

(3)产生文档的程序片断
void CXmlparseDlg::OnButtonGenerate() 
{
 UpdateData();

 MSXML2::IXMLDOMDocumentPtr pDoc; 
 MSXML2::IXMLDOMElementPtr  xmlRoot ; 

    //创建DOMDocument对象 
 HRESULT hr = pDoc.CreateInstance(__uuidof(MSXML2::DOMDocument40)); 
 if(!SUCCEEDED(hr)) 
 {  
  MessageBox("无法创建DOMDocument对象,请检查是否安装了MS XML Parser 运行库!"); 
  return ;
 } 
 
 //根节点的名称为Book
 //创建元素并添加到文档中
 xmlRoot=pDoc->createElement((_bstr_t)"Book");
 
 //设置属性
 xmlRoot->setAttribute("id",(const char *)m_strId);
 pDoc->appendChild(xmlRoot);
 MSXML2::IXMLDOMElementPtr pNode;

 //添加“author”元素
 pNode=pDoc->createElement((_bstr_t)"Author");
 pNode->Puttext((_bstr_t)(const char *)m_strAuthor);
 xmlRoot->appendChild(pNode);
 
 //添加“Title”元素
 pNode=pDoc->createElement("Title");
 pNode->Puttext((const char *)m_strTitle);
 xmlRoot->appendChild(pNode);
 
 //保存到文件 
 //如果不存在就建立,存在就覆盖 
 pDoc->save("d://he.xml"); 

}

(4)读取XML文档的程序片断
void CXmlparseDlg::OnButtonLoad() 
{
 MSXML2::IXMLDOMDocumentPtr pDoc;
 HRESULT hr;
 hr=pDoc.CreateInstance(__uuidof(MSXML2::DOMDocument40));
 if(FAILED(hr))
 {  
  MessageBox("无法创建DOMDocument对象,请检查是否安装了MS XML Parser 运行库!"); 
  return ;
 } 
 
 //加载文件 
 pDoc->load("d://he.xml"); 
 
 MSXML2::IXMLDOMNodePtr  pNode;
 
 //在树中查找名为Book的节点,"//"表示在任意一层查找 
 pNode=pDoc->selectSingleNode("//Book");

 MSXML2::DOMNodeType nodeType; 
 
 //得到节点类型 
    pNode->get_nodeType(&nodeType); 
 
 //节点名称 
 CString strName;
 
 strName=(char *)pNode->GetnodeName();
 
 //节点属性,放在链表中 
 MSXML2::IXMLDOMNamedNodeMapPtr pAttrMap=NULL;
 MSXML2::IXMLDOMNodePtr   pAttrItem;
 _variant_t variantvalue;
 pNode->get_attributes(&pAttrMap);
 
 long count;
 count=pAttrMap->get_length(&count);
 
 pAttrMap->get_item(0,&pAttrItem);
 //取得节点的值
 pAttrItem->get_nodeTypedvalue(&variantvalue);
 m_strId=(char *)(_bstr_t)variantvalue;
 
 UpdateData(FALSE);
 
}
通过MSXML来读写XML 以往在C#或者Java里面,都有很好的DOM来支持读写XML文档,在C++里面也有相应的不少。而MSXML是Windows下最常用的一个组件,以COM组件单独发布出来称为一个WINDOWS组件的。首先需要通过#import "msxml.dll"连链接MSXML的dll然后通过CoCreateInstance来创建COM接口:CComPtr pDoc;CComPtr elementRo 阅读详情

相关推荐

msxml.h文件

msxml.h文件 vc6.0头文件 .h头文件

C/C++中的报错踩坑

1. C:\Program Files (x86)\Windows Kits\10\Include\10.0.17763.0\um\msxml.h:1506: error: C2143: 语法错误: 缺少“)”(在“常量”的前面) 问题环境:qt5.1; 解决方法: 在文件开头include msxml.h 文件,解决;

sangwz 953

c++ MSXML2 msxml6 XML 创建读写源码

C++ MSXML2 创建xml树结构 读写操作源码

在 Windows Mobile 下使用MSXML

最后一次用msxml是在2001年,这么多年都快忘光了。只能一边翻 MSDN 一边写测试代码,同时还要感叹着这几年荒废的东西到底有多少。记下来 DOM 的用法,免得以后再忘:) 首先是头文件:#include  初始化 COM 环境:hr = CoInitializeEx(NULL, 0); 创建一个 XML DOM 对象:IXMLDOMDocument *pDOM

mayflowers的专栏 1870

新手避坑指南:用COMSOL Multiphysics仿真气体放电(汤逊vs.流注)

本文详细介绍了使用COMSOL Multiphysics仿真气体放电的实战指南,涵盖汤逊理论和流注模型的实现方法。通过对比两种放电模型的关键参数和物理场配置,帮助新手避免常见错误,准确预测气体击穿过程。文章还提供了工程应用案例,如高压绝缘子设计优化,展示了仿真技术在电力设备绝缘设计中的实际价值。

weixin_28716181的博客 477

优化NEXYS A7开发板(Xilinx Artix-7)Microblaze核的FLASH读写性能实战

本文针对NEXYS A7开发板(Xilinx Artix-7)上Microblaze核读写FLASH速度慢的问题,提供了系统性的优化实战指南。通过深入分析SPI控制器配置、Flash指令模式选择、Microblaze核的Cache与硬件加速器优化,以及程序运行位置(BRAM vs DDR)的调整,有效将FLASH读写性能从“龟速”提升至接近理论峰值。文章结合实测数据,为FPGA嵌入式开发者提供了清晰的性能瓶颈分析与解决方案。

carrot的博客 259

mfc通过MSXML读写xml

#include #include //需要下载msxml4.dll的库 #import "msxml4.dll" using namespace MSXML2; using namespace std; map g_data; //写xml的数据是从g_data来的,读的数据并没有存储 void addLine(MSXML2::IXMLDOMDocument2Ptr pXM

tianyu030963的专栏 1268

组合导航、惯导、GNSS、INS、IMU的区别

‌:惯性导航系统(INS)是一种利用安装在运载体上的陀螺仪和加速度计来测定运载体位置的系统。它通过测量物体的加速度和角速度,结合算法计算出物体的位置、速度和姿态‌12。‌。

wynn1123的博客 8058

使用MsXML读写XML文件

// MsXmlTest.cpp : 定义控制台应用程序的入口点。//#include "stdafx.h"#include "MsXmlTest.h"#include #include "comutil.h"#import "msxml4.dll"#ifdef _DEBUG#define new DEBUG_NEW#endif// 唯一的应用程序对象

1893

K210开发板学习笔记(三)——STM32+K210+SD卡实现人脸识别(完整K210代码)

更新日记:2022年4月26日 更新了串口通信部分的内容,本文写的略为粗糙,恐有不当之处,希望大家不吝赐教。 人脸识别 一、MaixPy IDE开发 参考博主晨少hc的博文(https://blog.csdn.net/HuangChen666/article/details/113995079)来实现人脸识别功能,我用的硬件是亚博智能的K210开发板,在配置工程中有几步和这个博主的不一样,需要注意。 所需要的文件有:模型文件),脚本文件,ide需要的bin文件...

Embedded learner的博客 4万+

在 Ansys CFX Pre 中配置 RGP 表的分步指南

掌握在 Ansys CFX Pre 中设置 RGP 表的技巧,以优化仿真精度和效率。

jkh920184196的博客 1671

MSXML2.DOMDocument

MSXML2.DOMDocument和Microsoft.XMLDOM有什么区别? 答案:版本不同:Microsoft.XMLDOM一般为msxml2.6,2.5,3.MSXML2.DOMDocument为msxml3 或4,MSMXL4支持的标准比较多(譬如它支持W3C的XML Schema),对标准的Conformance也更好,XML分析器与XSLT处理器的效率也更高。 DOMDocument对象很重要,还有XMLHTTP也很重要 注意大小写一定不能弄错. 属...

tisyact的博客 7347

ARM6818嵌入式视频播放器:硬解加速与Framebuffer渲染实战

嵌入式Linux音视频系统是智能座舱、工业HMI等场景的核心能力,其本质是软硬协同的实时多媒体处理系统。原理上需打通内核驱动(如VPU硬件编解码、FIMD多图层合成)、用户空间框架(GStreamer pipeline定制、SDL2硬件渲染)与应用层同步机制(PTS/HTS双时钟校准)。技术价值在于显著降低CPU负载(硬解可压至15%以下)、提升启动速度(<1.2s首帧)并保障音画同步精度(±3ms级)。典型应用场景包括车载信息娱乐、边缘AI终端及无X11的工控显示设备。本文基于ARM6818平台,深入VP

weixin_32456485的博客 78

MFC操作XML配置文件的两种方式:DOM 和 MSXML

这几天做VC项目涉及到了创建xml配置文件这方面的问题,纠结了好多天,尝试了N种方法,终于完成了工作任务,现在和大家分享下:  我参考了如下的资料: XML DOM 实例:http://www.w3school.com.cn/example/xdom_examples.asp VC++中操作XML(MFC、SDK):http://www.cnblogs.com/lingyun1120/arc

hediping9811的专栏 4460

VSCode 搭建C/C++编程环境 2025新版图文安装教程(VSCode安装 + C/C++环境搭建 + 运行测试 + 背景图设置)

100%搭建成功,VSCode 搭建C++编程环境 2025新版图文安装教程(VSCode安装+C++环境搭建+运行测试+背景图设置)

Code_流苏:在代码中寻诗意,在实践中觅真知 2974

学Simulink--决策规划场景实例:基于Simulink的智能车辆行为决策仿真

本文基于Simulink平台构建智能车辆变道决策仿真系统,采用MOBIL算法实现"决策-规划-执行"全流程。系统包含自车动力学模型、环境感知模块(含5%噪声)、决策控制器和轨迹规划模块,通过五次多项式实现平滑变道。仿真验证了三种典型工况:正常变道(成功率100%)、邻车拒绝让行和紧急避障,各项指标均满足要求(TTC>3s,横向加速度<2m/s²,决策周期<100ms)。文章详细介绍了建模步骤、核心算法实现和参数配置方法,并提出了强化学习、多车协同等优化方向。该模型为智能

amy_mhd的博客 153

使用MSXML进行基本的XML操作

最近做了一个XML相关的功能, 这里总结一下使用MSXML进行XML操作时使用到的基本方法. 对任何文件的操作无非就是"读"和"写". 由于XML的树形存储结构, 使得在处理一些结构化数据时非常好用, 比如保存配置或者记录数据等. 零. 使用MSXML 之所以选择使用MSXML, 是因为本着尽可能不引入第三方库的想法. 既然MSXML唾手可得, 那么拿来用也无妨. 首先是导入MSX

秃头披风侠的专栏 2505

蓝牙模块HM-10手册

蓝牙模块HM-10手册,该手册对蓝牙模块HM-10进行了详细的介绍和使用方法以及一些AT指令。

C++ 操作XML的完整例子——MSXML篇

写本文的目的是为了方便大家了解C++ MSXML操作方法。 当然,C++中对MSXML的调用有多种,本文采用的方法是完全参照MSXML SDK提供的文档进行操作。 如果有什么错误,欢迎指正。 代码框架是基于vs2008 MFC 对话框程序(UNICODE)。对话框程序需要读者自己创建。 [cpp] view plaincopyprint? #include

lzl001的专栏 1501

数学建模模型总结

这是本人在两年内准备参加数学建模竞赛搜集到的模型资料,已经经过了本人的筛选和整理,希望能够对准备参加数学建模竞赛的学弟学妹们提供一些帮助!

廖雪峰Python教程[完整版]

廖雪峰的python教程整理的,已经排好版了,而且还是完整的,适合小白

VC MSXML ADO简单读写

1. 导入MSXML.dll #import "msxml3.dll" using namespace MSXML2; 2. 创建实例  IXMLDOMDocumentPtr pXMLDoc; //XML文档  HRESULT hr = pXMLDoc.CreateIn

feiyangdn的专栏 430

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

使用MSXML解析XML文件

本文以如下的XML文件为例,读写这个XML文件ASKLog.xml   2007-11-28 15:23:14  Running  Finished level1 loop  (1)需要使用的头文件,dll和namespace#import       //利用MSXML解析XML文件以及生成XML文件#include "msxml.h"using namespace MSXML;using

lxu的专栏 3552

使用MSXML读写XML文件

使用MSXML读写XML文件 源代码: #include  #include  #include  #include  using namespace std; #import  using namespace MSXML2;BOOL CreateXmlFile(LPCTSTR lpszPath);BOOL QueryXmlFil

1018

mfc 使用MSXML.DLL读写XML

使用MSXML.DLL读写XML;      文件顶部加入      #import "msxml3.dll";      using namespace MSXML2;      //这两句作用是,在程序的文件夹下生成MSXML3.TLH和MSXML3.TLI两个文件;      ------------------------------------------------

挨踢爬虫 2474

wince 利用MSXML 3.0 读写xml文件

wince 读写xml

Legend(谭海燕)的专栏 3317
上一篇: 获取快捷方式的文件路径
下一篇: 如何把一个程序注册成系统服务
goingup
博客等级 码龄22年 52粉丝 158原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值