用MFC读写xml文件
来源:互联网 发布:大数据技术发展历程 编辑:程序博客网 时间:2024/05/17 04:07
最近又做了一个新活,解析XML文件 ,除了要读出来文件中元素的所有值,还要能把节点的结构表现出来。写也是同样,根据给定的信息,用xml文件记录它们的基本信息和父子关系。
做之前首先要下载MSXML4.0 ,安装的时候最好选择用户自定义选项,把SDK也给安上。安装完之后msxml所有相关的库文件应该就已经注册到了系统中了。如果你不放心可以再作以下这些事情:
输入 cd c:windowssystem32 回车。
再输入regsvr32 msxml4.dll 回车。
这时会提示您注册MSXML4 成功。"c:WindowsSystem32msxml4.dll"
然后,在您的代码中添加以下两行代码,这个是必须的,不然你是没有办法用到它提供的接口函数的。
#import
或#import msxml4.dll"
using namespace MSXML2;//这一条语句并不是必须的,不过有了它,就不用再每次使用它的类型的时候加一条MSXML2::了,所以最好加上。
以下就是我在开发过程中的一些心得了。
1、添加节点(元素):
添加节点当然首先要创建一个节点(元素),创建一个元素都是在IXMLDOMDocument或IXMLDOMDocumentPtr上进行创建的,示例代码如下:
IXMLDOMDocumentPtr write_IconPropLeftNode
write_pDoc->raw_createElement((_bstr_t)(char*)"left", &write_IconPropLeftNode);//((_bstr_t)(char*)转换字符串类型
创建了节点后,把创建的节点添加到他的父亲节点上。
write_panelNode->appendChild(write_panelPropLeftNode);//write_panelNode父节点
write_panelPropLeftNode->Puttext(_bstr_t(panelInfo_t.left));//设置该节点的值也就是<Pane>Text</Panel> 中的text
可以设置节点的属性,也就是<Panel id="1" type="PANEL">中的“id”和“type”
write_panelNode->setAttribute("ID",panelInfo_t.iconID);
write_panelNode->setAttribute("Type","PANEL");
2、查找节点:
查找节点有很多方法
(1)查找指定名称的节点:
pNode = read_panelNode->selectSingleNode(_bstr_t("//Buttons")); //注意,如果你确定你要查找的节点的名字就是Buttons得话,请一定加上“//”,不然返回的结果会是NULL的。selectSingleNode这个方法返回的是当前指针所指向的节点的所有字节点中第一个匹配的节点。
(2)查找已知节点的所有指定名称的孩子节点:
IXMLDOMNodeListPtr pBtnNodeList = NULL;
pBtnNodeList = read_panelNode->selectNodes(_bstr_t("//Button"));
return pSelected_Nodes;
返回结果是panel节点下的所有button节点的节点指针list,如果想要遍历每一个button节点,可以使用 IXMLDOMNodeListPtr 的get_item(int index, IXMLDOMNode* * nodePtr)方法(或者IXMLDOMNode* GETitem(int index))。例子:
HRESULT hr = pBtnNodeList->get_item(indexBtn, &read_btnNode);
(3)查找第一个孩子节点:
IXMLDOMNodePtr pPropNode = NULL;
pPropNode = read_btnNode->GetfirstChild();
(4)查找指定节点的所有孩子节点:
IXMLDOMNodeListPtr pPropChildNodeList = NULL;
pPropChildNodeList = pPropNode->GetchildNodes();
得到孩子节点的节点指针list后就可以利用Getitem方法得到每一个孩子节点的指针了。
3、得到属性值
待续,要工作了` `。。。。。
- 用MFC读写xml文件
- mfc 读写 XML文件
- MFC读写XML文件
- MFC读写XML文件
- MFC读写XML文件
- MFC读写XML文件
- MFC读写XML文件
- MFC读写XML文件
- 用文件流的形式读写xml文件到MFC的树控件中
- MFC读写XML
- vs2008下用MFC读写excel文件
- MFC文件读写
- MFC 读写文件
- MFC文件读写技巧
- MFC INI文件读写
- MFC文件普通读写
- MFC文件读写
- MFC文件读写
- 辛酸打油诗
- java业界新闻语音播报
- VB文件后缀,你都知道吗?
- 漫谈SQL Server中的标识列
- winpcap资料1
- 用MFC读写xml文件
- 有关DIV刷新后滚动条回归原来位置的问题!~
- 快速启动栏的"显示桌面"图标被误删
- 数据结构学习笔记(一)
- 柔性思维修炼1:有形与无形
- 初识AJAX
- 柔性思维修炼2:整体与局部
- SWT/JFace开发入门指南
- RSA算法的实现——java版