c语言多xml文件操作,读取C中的写入XML文件

我推荐MSXML.它可能看起来很复杂,但是当你习惯它时,这很容易.

这是一个示例:

input.xml中:

FL

FR

RL

RR

码:

#include

#include

#include

#import rename_namespace(_T("MSXML"))

int main(int argc, char* argv[]) {

HRESULT hr = CoInitialize(NULL);

if (SUCCEEDED(hr)) {

try {

MSXML::IXMLDOMDocument2Ptr xmlDoc;

hr = xmlDoc.CreateInstance(__uuidof(MSXML::DOMDocument60),

NULL, CLSCTX_INPROC_SERVER);

// TODO: if (FAILED(hr))...

if (xmlDoc->load(_T("input.xml")) != VARIANT_TRUE) {

printf("Unable to load input.xml

");

} else {

printf("XML was successfully loaded

");

xmlDoc->setProperty("SelectionLanguage", "XPath");

MSXML::IXMLDOMNodeListPtr wheels = xmlDoc->selectNodes("/Car/Wheels/*");

printf("Car has %u wheels

", wheels->Getlength());

MSXML::IXMLDOMNodePtr node;

node = xmlDoc->createNode(MSXML::NODE_ELEMENT, _T("Engine"), _T(""));

node->text = _T("Engine 1.0");

xmlDoc->documentElement->appendChild(node);

hr = xmlDoc->save(_T("output.xml"));

if (SUCCEEDED(hr))

printf("output.xml successfully saved

");

}

} catch (_com_error &e) {

printf("ERROR: %ws

", e.ErrorMessage());

}

CoUninitialize();

}

return 0;

}

输出:

XML已成功加载

汽车有4个轮子

output.xml已成功保存

与Output.xml:

1

2

3

4

Engine 1.0

希望有人觉得这很有用;)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值