中易网

怎么用C语言写一个简单的XML文件

答案:2  悬赏:10  
解决时间 2021-01-11 01:13
怎么用C语言写一个简单的XML文件
最佳答案
1、XML文件和普通的txt文本文件并无区别,所以用普通的文件操作函数fopen,fsacnf,fprintf即可读写XML文件。

2、例程:
#include
#include
int main()
{
FILE *fp1;
char get[1000],ch;
int i;
fp1=fopen("test.xml","r+");//以读写方式打开或者新建一个test.xml文件
printf("请输入需要输入到xml文件的字符串:\n");
gets(get);//输入
fflush(stdin);//清空缓存
for(i=0;i fprintf(fp1,"%c",get[i]);
fclose(fp1);//关闭文件指针
return 0;
}
全部回答

用VC吧,下面有一个例子,你参照下:void CreateXml()
{
    CoInitialize(NULL);
    // 创建文档
    MSXML2::IXMLDOMDocument2Ptr pXMLDoc = NULL;
    //创建DOMDocument对象
    HRESULT hr = pXMLDoc.CreateInstance(__uuidof(MSXML2::DOMDocument));
    if (!SUCCEEDED(hr))
    {
        return;
    }
    // Create the Processing Instruction
    MSXML2::IXMLDOMProcessingInstructionPtr pXMLProc = NULL;
    pXMLProc = pXMLDoc->createProcessingInstruction("xml", "version='1.0' encoding='UTF-8'");
    
    _variant_t vNullVal;
    vNullVal.vt = VT_NULL;
    pXMLDoc->insertBefore(pXMLProc, vNullVal);
    // 创建根结点
    _variant_t varNodeType((short)MSXML2::NODE_ELEMENT);
    MSXML2::IXMLDOMNodePtr pXMLNodeRoot= NULL; 
    pXMLNodeRoot = pXMLDoc->createNode(varNodeType, _T("Cases"), _T(""));
    // 添加根结点
    pXMLDoc->appendChild(pXMLNodeRoot);
    // 创建并添加下级结点
    MSXML2::IXMLDOMNodePtr pXMLNodeNode= NULL; 
    pXMLNodeNode = pXMLNodeRoot->appendChild(pXMLDoc->createElement(_T("Case")));
    // 创建下级元素结点
    MSXML2::IXMLDOMElementPtr pXMLEle = NULL;
    pXMLEle = pXMLDoc->createElement(_T("CopyFile"));
    // 创建并设置下级结点属性
    MSXML2::IXMLDOMAttributePtr pXMLAttr = NULL;
    pXMLAttr = pXMLDoc->createAttribute(_T("src"));
    pXMLAttr->nodeTypedValue = "C:\test.txt";
    pXMLEle->attributes->setNamedItem(pXMLAttr);
    pXMLAttr = pXMLDoc->createAttribute(_T("dest"));
    pXMLAttr->nodeTypedValue = "D:\Test.txt";
    pXMLEle->attributes->setNamedItem(pXMLAttr);
    // 添加元素结点
    pXMLNodeNode->appendChild( pXMLEle);
    MSXML2::IXMLDOMElementPtr pXMLEle1 = NULL;
    pXMLEle1 = pXMLDoc->createElement(_T("DelFile"));
    pXMLEle1->appendChild(pXMLDoc->createTextNode("C:\test.txt"));
    // 添加元素结点
    pXMLNodeNode->appendChild( pXMLEle1);
  
    // 保存文档
    pXMLDoc->save(_T("d:\Test.xml"));
}
 
效果如下:
 

    
         
        C: est.txt 
    


为了能够让MFC认识MSXML2,我们需要引入相应的dll,代码如下;
#import "msxml4.dll" 
我要举报
如以上问答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
经度和纬度的区别表纬度 经度度数范围0°
有汝字的诗
到临死前,怎么让我难受死呢?
信赖是什么意思?还有绿蔓是啥意思??
太原科技大学华科学院怎么样?
boyfriend是什么意思
俗语说:雨过天晴。所以下雨后一定是晴天对吗
我女朋友跟我上对班,我为了给她转到跟我一个
M6-7H 右是标准螺纹吗
进入广播站有两个星期了。老成员们要求我们新
长安cx7O油耗为多少钱一公里
图书馆中“在库阅览”什么意思
楼外有楼打一字谜语
收银部地址在哪,我要去那里办事
蠻蠻的意思是什么?蠻蠻的释义是什么啊?
推荐资讯
为什么很不喜欢男生比我自己男的高,我178
2016c浪下跌后会有多大反弹
求CF麦克风一段经典的话 要求搞笑的 别拿那个
我是实外新高一的外校考进去的,想问下高中实
下雨天阴天蟹塘里能不能使用em,芽孢杆菌
1000按6%的复利计算40年后值多少?
光绪三十年大清银币市场价格是多少
有没有什么软件可以查看微信里边都谁来看我的
买万科城的房子,要把贷款还清吗
杀臭虫最有效的方法
300平米的地下餐厅消防要求做几个安全门
5x减2y等于3 x加6y等于23
手机登qq时,显示手机磁盘不足,清理后重新登
刺客的套装怎么选啊?