mfc读写xml文件有几种方法
在MFC中,可以使用以下几种方法来读写XML文件:
1. 使用CFile类:可以使用CFile类的成员函数来读写XML文件数据。您可以使用Read和Write函数来读取和写入二进制数据。然后,可以使用CString类中的成员函数来解析和操作XML数据。
2. 使用CMarkup类:CMarkup类是MFC中一个轻量级的XML解析器类,它提供了一组简单的方法来读取和写入XML文件。您可以使用Load函数加载XML文件,使用FindElem函数定位到指定的元素,然后使用FindChildElem,InsertChildElem等函数来操作XML的子元素。
3. 使用MSXML库:Microsoft XML(MSXML)是一组用于处理XML的COM组件。您可以在MFC应用程序中使用MSXML库来读取和写入XML文件。使用MSXML需要添加对msxml6.lib或其他相关MSXML库的引用,并使用相关的COM接口/类来操作XML数据。
4. 使用ATL库:如果您希望使用C++和Windows API来处理XML文件,可以使用Windows ATL(Active Template Library)提供的COM接口和函数。您可以使用CComPtr类来管理COM对象的生命周期,并使用IXMLDOMDocument和相关接口来读取和写入XML数据。
以上是一些常用的在MFC中读写XML文件的方法。具体使用哪种方法取决于您的需求和代码组织方式。请注意,在选择任何方法之前,请确保已经熟悉相关文档,并理解如何正确处理XML数据的结构和格式。
xml文件就是有固定的格式,有开头和结束标识,比如说 <user>dxbzidane</user>,中间是你的用户名,所以你要提取到这个用户名就需要先找到开始标识<user>,再找结束标识</user>。
PB如何解析XML文件
一般都是直接通过数据窗口导出xml。然后再倒入xml为PB导入导出数据的一大课题,
如果您感兴趣我可以给您提供完整代码和指导.每个xml中的模板格式都是不同的,如果是通过pb数据窗口导出的 是根据数据窗口设计画板(就是编剧数据窗口的画板中)最下方的导出模板设置的..如果不是也是有规律可循的. 你要根据其中的段落来进行导出 .
大致的顺序是 (获得文件路径和文件名)(打开文件,获得该文件句柄)GetFileOpenName() -(利用句柄打开文件所有数据)fileopen()- fileread() 然后再根据代码段标识符!用Mid截取你所需要的那一段数据.
具体事例代码如下:
假设1.xml文件有如下内容
<dj>750</dj>
//选择路径
string ls_filename//文件名
stringls_fullname//完整路径+文件名
long li_filenum
If GetFileOpenName ("请选择文件", ls_fullname, ls_Filename,"XML", "all Files (*.XML),*.XML",docname) < 1 THEN
RETURN
ELSE
ls_fullname = Trim(ls_fullname)
END IF
ls_filename = lower(ls_filename)//小写文件(一般存成的文件读取是.xml不是大写的.XML)
li_FileNum = FileOpen(ls_fullname,StreamMode!,Read!,LockWrite!)
FileRead(li_FileNum,ls_temp)
/利用POS截取
long ll_start, ll_end
ll_start = Pos( ls_text, "<dj>", 1 )
ll_end_ = Pos( ls_text, “</dj>", 1 )
//截取所获得内容
string ls_str
ls_str = mid(ls_temp,ll_start + 4,ll_end - 1)
//此时ls_str = '75'
还没有评论,来说两句吧...