【示例2】
从xml文件中读取:
int _tmain(int argc, _TCHAR* argv[])
{
    // 初始化COM
    HRESULT hr = CoInitializeEx(NULL, COINIT_APARTMENTTHREADED | COINIT_DISABLE_OLE1DDE);
    if (FAILED(hr))
        return 1;
    // 创建XML文档对象
    IXMLDOMDocument *pXMLDoc;
    hr = CoCreateInstance(CLSID_DOMDocument60, NULL, CLSCTX_INPROC_SERVER, IID_PPV_ARGS(&pXMLDoc));
    if (SUCCEEDED(hr))
    {
        // 打开文件
        FILE *fp;
        fopen_s(&fp, "data.xml", "r");        
        // 获取文件大小
        fseek(fp, 0, SEEK_END);
        int filesize = ftell(fp);
        fseek(fp, 0, SEEK_SET);
        // 读取文件内容
        char *xmlstr = new char[filesize + 1];
        fread(xmlstr, filesize, 1, fp);
        xmlstr[filesize] = '\0'; // 在字符数组末尾加\0
        fclose(fp);
        //cout << xmlstr << endl;        
        // 解析xml字符串
        VARIANT_BOOL flag;
        pXMLDoc->loadXML(bstr_t(xmlstr), &flag);
        if (flag == VARIANT_TRUE)
            read(pXMLDoc);
        else
            cout << "解析XML字符串失败" << endl;
        pXMLDoc->Release();
        delete[] xmlstr;
    }
    else
        cout << "创建XMLDOMDocument对象失败" << endl;
    CoUninitialize();
    system("pause");
    return 0;
}
XML文件的内容:

编码为ANSI,文件大小为113字节。
