创建个节点,用IXMLDOMDocument::save方法保存成的xml
没有xml头:<?xml version='1.0' encoding='big5' ?>请教怎样加上xml头啊?

解决方案 »

  1.   

    MSXML2::IXMLDOMDocumentPtr pXMLDom;
    HRESULT hr; hr = pXMLDom.CreateInstance(__uuidof(MSXML2::DOMDocument30)); //create DOM object
    if (FAILED(hr))
    {
    ::AfxMessageBox(DF_MSG_FAIL_SAVE_FILE);
    return FALSE;
    } pXMLDom->async = VARIANT_FALSE; //default:TRUE;
    pXMLDom->put_preserveWhiteSpace(FALSE); //////////////////////////////////////////////////////////////////////////
    MSXML2::IXMLDOMElementPtr pElementRoot = NULL; 
    pElementRoot = pXMLDom->createElement(_T("Root"));

    MSXML2::IXMLDOMElementPtr pElementGeneral = NULL; 
    pElementGeneral = pXMLDom->createElement(_T("General"));
    pElementGeneral->setAttribute(_T("Version"), _T("1.0"));
      

  2.   

    解决:
    IXMLDOMProcessingInstruction *pi_node1 = NULL;
    IXMLDOMProcessingInstruction *pi_node2 = NULL;
    hr = pXMLDoc->createProcessingInstruction(_bstr_t(_T("xml")), _bstr_t(strDeclare), &pi_node1);
    if (FAILED(hr))
        throw hr;
    hr = pXMLDoc->insertBefore(pi_node1, _variant_t(pRoot_element), (IXMLDOMNode **)&pi_node2);
    if (FAILED(hr))
        throw hr;
    ...结贴~