怎么用C语言写一个简单的XML文件
答案:2 悬赏:10
解决时间 2021-01-11 01:13
- 提问者网友:绫月
- 2021-01-10 00:46
怎么用C语言写一个简单的XML文件
最佳答案
- 二级知识专家网友:酒者煙囻
- 2021-01-10 02:16
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;
}
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
fclose(fp1);//关闭文件指针
return 0;
}
全部回答
- 1楼网友:woshuo
- 2021-01-10 02:45
用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"));
}
效果如下:
为了能够让MFC认识MSXML2,我们需要引入相应的dll,代码如下;
#import "msxml4.dll"
我要举报
如以上问答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯