菜单 学习猿地 - LMONKEY

VIP

开通学习猿地VIP

尊享10项VIP特权 持续新增

知识通关挑战

打卡带练!告别无效练习

接私单赚外块

VIP优先接,累计金额超百万

学习猿地私房课免费学

大厂实战课仅对VIP开放

你的一对一导师

每月可免费咨询大牛30次

领取更多软件工程师实用特权

入驻
311
0

MFC 创建XML

原创
05/13 14:22
阅读数 55776
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"));
}

效果如下:

<?xml version="1.0" encoding="UTF-8" ?> 
<Cases>
    <Case>
        <CopyFile src="C:\test.txt" dest="D:\Test.txt" /> 
        <DelFile>C:\test.txt</DelFile> 
    </Case>
</Cases>

 

发表评论

0/200
311 点赞
0 评论
收藏
为你推荐 换一批