QQ登录

只需一步,快速开始

349上位机VC MFC通过MSXML组件读取XML文件

[ 复制链接 ]

349上位机VC MFC通过MSXML组件读取XML文件

349上位机VC MFC通过MSXML组件读取XML文件

MSXML读取XML文件
功能展示
XML是标签语言HTML的一种扩展,XML允许我们使用时自定义标签,通过自定义的标签可以很方便的将数据组织起来,形成记录集,这样的记录集具有很好灵活性,所以XML已得到了很广泛的使用,我们当前例程就通过自己编写代码实现XML文件的读取,效果如图,点击按钮后,会弹出选择XML文件的对话框,选择了XML文件后,就会将读取的内容显示在列表控件中;

要点提示
例程是通过MSXML组件实现XML文件的读取,组件MSXML中的IXMLDOMDocumentPtr指针调用函数selectNodes()可以获取件MSXML 的IXMLDOMNodeListPtr指针对象。此指针 对象可以获取具体 的节点的值。
selectNodes()函数主要获取节点的路径,XML文件中<></>组合称为一个节点,内部还可以有子节点。

实现功能
1.新建基于对话框的应用程序
2.添加一列表控件IDC_LIST1用于显示读取的数据,添加一按钮<读取XML文件>关联按钮的点击函数
void CGkbc8Dlg::OnRead()
{
CString sXMLFile;
CFileDialog Dlg(TRUE,".xml","工控编程吧",OFN_HIDEREADONLY | OFN_OVERWRITEPROMPT,"XML Files (*.xml)|*.xml||");
if(Dlg.DoModal()==IDOK)
sXMLFile = Dlg.GetPathName();
else
return;
CListCtrl* pList=(CListCtrl*)GetDlgItem(IDC_LIST1);
unsigned short buff[128];
memset(buff,0,128);
MSXML::IXMLDOMDocumentPtr xdoc;
xdoc.CreateInstance(__uuidof(MSXML:OMDocument));
xdoc->load(_variant_t(sXMLFile));
MSXML::IXMLDOMNodeListPtr nodelist=NULL;
nodelist=xdoc->selectNodes("database/filed");
MSXML::IXMLDOMNodePtr subnode;
long nodecount;
nodelist->get_length(&nodecount);
for(long i=0;i<nodecount;i++)
{
subnode=nodelist->nextNode()->selectSingleNode((_bstr_t)"name");
_bstr_t bstrname=subnode->Gettext();
pList->InsertItem(i,"");
pList->SetItemText(i,0,bstrname);
}
nodelist->reset();
for(i=0;i<nodecount;i++)
{
subnode=nodelist->nextNode()->selectSingleNode((_bstr_t)"type");
_bstr_t bstrname=subnode->Gettext();
pList->SetItemText(i,1,bstrname);
}
}
3.复制例程根目录MSXML组件动态库,引入到工程中,及程序初始化时初始化控件
#import "msxml.dll"
using namespace MSXML;

CListCtrl* pList=(CListCtrl*)GetDlgItem(IDC_LIST1);
pList->SetExtendedStyle(LVS_EX_GRIDLINES);
pList->ModifyStyle(0,LVS_REPORT,0);
pList->InsertColumn(0,"name",LVCFMT_LEFT,100);
pList->InsertColumn(1,"type",LVCFMT_LEFT,120);


我们来演示下功能实现的整个过程

请点击此处下载

请先注册会员后在进行下载

已注册会员,请先登录后下载

文件名称:349.上位机VC MFC通过MSXML组件读取XML文件.zip 
文件大小:403.39 KB  售价:11金币
下载权限: 不限 以上或 VIP会员   [购买捐助会员]   [充值积分]   有问题联系我

  

如果您认可,可联系功能定制!

  

如果您着急,充值会员可直接联系发您资料!

  

QQ联系我

微信扫扫联系我

  

  

您的支持是我们创作的动力!  

  

您可花点闲钱积分自助任意充值

  

成为VIP会员 全站资源任意下载永久更新!




回复

使用道具 举报

快速回复 返回列表 客服中心 搜索