慕容3067478
xml文件和txt文件相同,使用普通的文本操作函数即可读取。1、C语言标准库提供了一系列文件操作函数。文件操作函数一般以f+单词的形式来命名(f是file的简写),其声明位于stdio.h头文件当中。例如:fopen、fclose函数用于文件打开与关闭;fscanf、fgets函数用于文件读取;fprintf、fputs函数用于文件写入;ftell、fseek函数用于文件操作位置的获取与设置。2、例程:#include<stdio.h>int a;char b,c[100];int main(){FILE * fp1 = fopen("input.xml", "r");//打开xml格式输入文件FILE * fp2 = fopen("output.txt", "w");//打开输出文件if (fp1==NULL || fp2==NULL) {//若打开文件失败则退出puts("不能打开文件!");rturn 0;}fscanf(fp1,"%d",&a);//从输入文件读取一个整数b=fgetc(fp1);//从输入文件读取一个字符fgets(c,100,fp1);//从输入文件读取一行字符串printf("%ld",ftell(fp1));//输出fp1指针当前位置相对于文件首的偏移字节数fputs(c,fp2);//向输出文件写入一行字符串fputc(b,fp2);//向输出文件写入一个字符fprintf(fp2,"%d",a);//向输出文件写入一个整数fclose(fp1);//关闭输入文件fclose(fp2);//关闭输出文件,相当于保存return 0;
隔江千里
#include <atlbase.h>
#ifdef UNDER_CE
#include "Msxml.h"
#else
#import "msxml3.dll" named_guids, raw_interfaces_only, raw_native_types
using namespace MSXML2;
#endif
void main()
{
CoInitialize(NULL); // 初始化COM。
CComPtr<IXMLDOMDocument> spXMLDOM;
HRESULT hr=spXMLDOM.CoCreateInstance (_uuidof(DOMDocument));
// 创建解析器实例。
VARIANT_BOOL bSuccess=false;
hr=spXMLDOM->load(CComVariant(L"xmlfile.xml"),&bSuccess);
// 装载XML文档。
CComBSTR bstrSS(L"Device");
CComPtr<IXMLDOMNode> spDevice;
hr=spXMLDOM->selectSingleNode(bstrSS,&spDevice); //搜索"Device"。
CComQIPtr<IXMLDOMElement> spDev;
spDev=spDevice;
// 设置"Device"的"name"属性。
hr= spDev->setAttribute(CComBSTR(L"name"),CComVariant("测试设备"));
CComPtr<IXMLDOMNode> spModelNode;
hr=spXMLDOM->createNode(CComVariant(NODE_ELEMENT),CComBSTR("Model"),NULL,& spModelNode); // 创建"Model"节点。
CComPtr<IXMLDOMNode> spInsertedNode;
hr=spDevice->appendChild (spModelNode,&spInsertedNode);
// 添加新节点到"Device"节点下面。
CComBSTR strID(L"3");
hr=spInsertedNode->put_text(strID);// 设置"Model"的文本。
hr=spXMLDOM->save(CComVariant("xmlfile.xml")); //保存文档。
// CoUninitialize(); // 结束对COM的使用。
return;
}
以上是code。
msxml3.dll是windows自带的dll,可以在c盘中找到。
还有就是你的xml文件做得不够好,你可以把xml作成这样的:
<account>
<accountNum>***</accountNum>
<password>***</password>
<name>***</name>
<balance>***</balance>
........
</account>
这样xml文件的结构才够清晰,通俗易懂,添数据的时候也可以理解每个TAG里的内容是什么意思。