news 2026/10/27 1:00:45

VC入门宝典十一(xml)

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
VC入门宝典十一(xml)

xml

我们建立一个xml文件,内容如图所示:

一,建立一个基于对话框的程序,工程名为xml;

二,初始化OLE.

BOOL CXmlApp::InitInstance()

{

AfxOleInit();

…….

}

三,在对话框中增加一个按钮,ID为IDC_CREATE,我们在这个按钮的响应函数中生成一个xml文件.

voidCXmlDlg::OnCreate()

{

MSXML2::IXMLDOMDocumentPtr pDoc;

MSXML2::IXMLDOMElementPtr xmlRoot ;

//创建DOMDocument对象

HRESULT hr = pDoc.CreateInstance(__uuidof(MSXML2::DOMDocument30));

if(!SUCCEEDED(hr))

{

MessageBox("无法创建DOMDocument对象,请检查是否安装了MS XML Parser运行库!");

}

//根节点的名称为china

pDoc->raw_createElement((_bstr_t)(char*)"china", &xmlRoot);

pDoc->raw_appendChild(xmlRoot, NULL);

MSXML2::IXMLDOMElementPtr childNode ;

pDoc->raw_createElement((_bstr_t)(char*)"City", &childNode);

childNode->Puttext("WuHan");//节点值

childNode->setAttribute("population","8,000,000");//属性名,属性值

childNode->setAttribute("area","10000");

xmlRoot->appendChild(childNode);

pDoc->raw_createElement((_bstr_t)(char*)"City", &childNode);

childNode->Puttext("ShangHai");

childNode->setAttribute("population","12,000,000");

childNode->setAttribute("area","12000");

xmlRoot->appendChild(childNode);

//保存到文件

//如果不存在就建立,存在就覆盖

pDoc->save("f://he.xml");

}

不要忘了#import"msxml4.dll"//引入类型库

四,再增加一个按钮,ID为IDC_GET,在这个按钮的响应函数中读取xml文件.

voidCXmlDlg::OnGet()

{

//创建DOMDocument对象

MSXML2::IXMLDOMDocumentPtr pDoc;

HRESULT hr = pDoc.CreateInstance(__uuidof(MSXML2::DOMDocument30));

if(!SUCCEEDED(hr))

{

MessageBox("无法创建DOMDocument对象,请检查是否安装了MS XML Parser运行库!");

}

//加载文件

pDoc->load("f://he.xml");

//在树中查找名为City的节点,"//"表示在任意一层查找

MSXML2::IXMLDOMElementPtr childNode ;

childNode = (MSXML2::IXMLDOMElementPtr)(pDoc->selectSingleNode("//City"));

//得到节点类型

MSXML2::DOMNodeType nodeType;

childNode->get_nodeType(&nodeType);

//节点名称

BSTR var;

CString name;

childNode->get_nodeName(&var);

name = (char*)(_bstr_t)var;

//节点值

VARIANT varVal;

childNode->get_nodeTypedValue(&varVal);

CString strValue = (char*)(_bstr_t)varVal;

//节点属性,放在链表中

MSXML2::IXMLDOMNamedNodeMapPtr pAttrs = NULL;

MSXML2::IXMLDOMNodePtr pAttrItem;

childNode->get_attributes(&pAttrs);

longnCount ;

pAttrs->get_length(&nCount);

for(inti = 0 ; i < nCount ; i++)

{

pAttrs->get_item(i,&pAttrItem);

//我们可以通过函数get_nodeName,get_nodeTypedValue得到属性名和属性值

//也可以直接得到

CString strAttrName = (char*)(_bstr_t)pAttrItem->nodeName;

CString strAttrValue = (char*)(_bstr_t)pAttrItem->nodeTypedValue;

}

}

计算几何为骨,排样优化为魂
作品一亲士套料工具箱https://qinshi.blog.csdn.net/article/details/167222655作品二亲士CAD工具箱https://qinshi.blog.csdn.net//article/details/156510081经典文章推荐:二维排样https://qinshi.blog.csdn.net/article/details/164169163万物皆数学https://qinshi.blog.csdn.net/article/details/143057305查阅鄙人的博文,请点击博文下载学院导航https://qinshi.blog.csdn.net/article/details/163717324
活到老,学到老。明朝中后期,大约50%的进士能当上堂官(副部及更高);能当上堂官的举人只有十余人。
子墨子言之:事无终始,无务多业。也就是我们常说的专业的人做专业的事。
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/10/27 1:00:45

C# 构造函数详解:默认构造函数、空参构造函数与继承构造

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

作者头像 李华
网站建设 2026/10/27 1:00:43

C# 类的继承:语法、实例与调用机制详解

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

作者头像 李华
网站建设 2026/10/27 0:53:44

agent-skills协议:可插拔AI技能的声明式交付标准

1. “agent-skills”不是功能模块&#xff0c;而是一套可插拔的能力交付协议你第一次在 GitHub 仓库名里看到agent-skills&#xff0c;或在 CLI 工具的--skills参数后跟一串路径时&#xff0c;大概率会下意识把它理解成“AI Agent 能做的几件事列表”——比如“查天气”“读文件…

作者头像 李华
网站建设 2026/10/27 0:43:42

Agent-Reach:轻量级多智能体触达与协作框架解析

1. 项目概述&#xff1a;Agent-Reach 到底是什么先把结论放前面&#xff1a;Agent-Reach 不是一个新的 AI 模型&#xff0c;也不是某个大厂的闭源平台&#xff0c;而是一个面向多智能体&#xff08;Multi-Agent&#xff09;协作场景的触达与协同框架。它的核心目标非常朴素——…

作者头像 李华
网站建设 2026/10/27 0:36:20

Labelme柑橘数据集转YOLO格式与YOLOv8训练避坑指南

简介&#xff1a;这套柑橘果目标检测数据集专为农业视觉与智能农机研究而构建&#xff0c;包含580张真实果园场景图片及对应Labelme标注文件&#xff0c;可支撑树上挂果与树下落果的区分识别&#xff0c;适用于果园自动化收获、成熟度监测、产量预估以及农业机器人视觉导航等任…

作者头像 李华
网站建设 2026/10/27 0:31:06

多语言语音模型的语言判别嵌入(LDE)架构设计

1. 项目概述&#xff1a;让语音模型真正“听懂”语言边界&#xff0c;而不是靠猜“语言判别增强多语言语音模型的语言学习能力”——这个标题乍看像论文摘要&#xff0c;但拆开来看&#xff0c;它直指当前多语言语音识别&#xff08;ASR&#xff09;和语音合成&#xff08;TTS&…

作者头像 李华