读写XML文件


#import "msxml6.tlb"

// 读取XML文件
MSXML2::IXMLDOMDocumentPtr spDoc;
HRESULT hr = spDoc.CreateInstance(__uuidof(MSXML2::DOMDocument));
ATLASSERT(SUCCEEDED(hr));

CComBSTR bsDataPath;
VARIANT_BOOL bRet = spDoc->load(bsDataPath + _T("\\Path.xml"));

if (bRet != VARIANT_FALSE)
{
	MSXML2::IXMLDOMNodeListPtr spList = spDoc->documentElement->selectNodes(_T("Lay1/Att"));
	for (int i = 0; i < spList->length; ++i)
	{
		MSXML2::IXMLDOMElementPtr spElem = spList->item[i];

		CString sAttName = spElem->getAttribute(_T("AttName"));
		CString sAttDef = spElem->getAttribute(_T("AttDef"));
	}
}

// 写入XML文件
MSXML2::IXMLDOMDocumentPtr spDoc;
HRESULT hr = spDoc.CreateInstance(__uuidof(MSXML2::DOMDocument));
ATLASSERT(spDoc);

MSXML2::IXMLDOMElementPtr spRoot = spDoc->createElement(_T("Root"));
spDoc->appendChild(spRoot);

MSXML2::IXMLDOMElementPtr spElemFirst = spDoc->createElement(_T("Lay1"));
spRoot->appendChild(spElemFirst);

for (int i = 0; i < m_lMaxRow; i++)
{
	CString sAttName;
	CString sAttDef;

	MSXML2::IXMLDOMElementPtr spElem = spDoc->createElement(_T("Att"));

	spElem->setAttribute(_T("AttName"), (_bstr_t)sAttName);
	spElem->setAttribute(_T("AttDef"), (_bstr_t)sAttDef);
	spElemFirst->appendChild(spElem);
}


CComBSTR bsDataPath;
spDoc->save(bsDataPath + _T("\\Path.xml"));


			try
			{
				...
			}
			catch (_com_error& e)
			{
				AfxMessageBox(e.Description());
			}
`
``

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值