Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/xml/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++读取XML文件 我用VisualC++做了MSXML6库的练习,以动摇我对Python语言的依赖性,用于分析大文件。 我一直在学习msdn教程,但是当用一个大于300MB的XML文件替换一个更大的文件时,程序显示了一个错误,即无法找到该文件,随后的变量为NULL_C++_Xml_Msxml6 - Fatal编程技术网

C++读取XML文件 我用VisualC++做了MSXML6库的练习,以动摇我对Python语言的依赖性,用于分析大文件。 我一直在学习msdn教程,但是当用一个大于300MB的XML文件替换一个更大的文件时,程序显示了一个错误,即无法找到该文件,随后的变量为NULL

C++读取XML文件 我用VisualC++做了MSXML6库的练习,以动摇我对Python语言的依赖性,用于分析大文件。 我一直在学习msdn教程,但是当用一个大于300MB的XML文件替换一个更大的文件时,程序显示了一个错误,即无法找到该文件,随后的变量为NULL,c++,xml,msxml6,C++,Xml,Msxml6,教程: 我非常感谢这些帮助。 在谈论XML DOM时,您应该认为这只是通过XML文件的完全分析而在内存中创建的一个内存数据库。通过DOM方法处理大型XML文件是一种非常糟糕的做法,因为它消耗了大量内存,而且性能低下。内容本身、索引和交叉链接等等。就性能而言,即使是10MB的XML DOM也是一件值得注意的事情,而且您将获得30倍的性能 相反,在大型XML文件上,您应该使用SAX解析方法,这种方法甚至可以对无限的XML流进行操作。您可以存储感兴趣的XML摘录,而忽略其他内容。非常感谢,在处理大量数

教程:


<>我非常感谢这些帮助。

在谈论XML DOM时,您应该认为这只是通过XML文件的完全分析而在内存中创建的一个内存数据库。通过DOM方法处理大型XML文件是一种非常糟糕的做法,因为它消耗了大量内存,而且性能低下。内容本身、索引和交叉链接等等。就性能而言,即使是10MB的XML DOM也是一件值得注意的事情,而且您将获得30倍的性能


相反,在大型XML文件上,您应该使用SAX解析方法,这种方法甚至可以对无限的XML流进行操作。您可以存储感兴趣的XML摘录,而忽略其他内容。

非常感谢,在处理大量数据时,我仍然不知道很多事情,我感谢您抽出时间给我一些建议。
    HRESULT hr = S_OK;
    IXMLDOMDocument *pXMLDom = NULL;
    IXMLDOMNodeList *pNodes = NULL;
    IXMLDOMNode *pNode = NULL;

    BSTR bstrQuery1 = NULL;
    BSTR bstrQuery2 = NULL;
    BSTR bstrNodeName = NULL;
    BSTR bstrNodeValue = NULL;
    DOMNodeType DOMType;
    VARIANT varNodeValue;
    VARIANT_BOOL varStatus;
    VARIANT varFileName;
    VariantInit(&varFileName);

    CHK_HR(CreateAndInitDOM(&pXMLDom));

    CHK_HR(VariantFromString(L"TestDoc.xml", varFileName));
    CHK_HR(pXMLDom->load(varFileName, &varStatus));
    if (varStatus != VARIANT_TRUE)
    {
        CHK_HR(ReportParseError(pXMLDom, "Failed to load DOM from TestDoc.xml"));
        initSuccessful = false;
    }
    else
    {
        //Assigns the DOM object as a member variable to be used in other methods
        pXMLDomClassVar = pXMLDom;
        initSuccessful = true;
    }