c++ - XML DOM 对象如何从磁盘加载到内存中

标签 c++ xml dom

你好,新年快乐。 我需要一些指南,了解在 Windows 上使用 C++ 将 XML DOM 从磁盘加载到内存的过程。

Microsoft 提供此 example ,但它没有涵盖使用 ntKernel 函数执行此操作的实际过程,也没有解释实际负载背后的过程。

主进程是否调用内核函数将 xml 从磁盘加载到内存?

   VariantFromString(L"stocks.xml", varFileName);
   pXMLDom->load(varFileName, &varStatus);

或者有一个处理加载请求的全局进程,然后在它通过内核函数加载 xml 之后,创建一个指向 DOM 对象的链接,并将它返回给请求的进程。

我想知道什么内核函数负责从磁盘加载 .xml 文件?

谢谢!

最佳答案

没有用于“加载 XML”的内核函数(至少没有被 DOMDocument60 组件类使用。

相反,它只是使用通用文件读取调用(在内核中这是 ZwReadFile),DOMDocument60 代码然后将文件内容解析为它使用的任何内部表示形式。

唯一涉及的上下文切换是在用户模式和内核模式之间,而不是在一个进程、内核模式和另一个进程之间(除非可能涉及某种用户模式文件系统,但如果是的话,你可能不需要问这个问题)。

关于c++ - XML DOM 对象如何从磁盘加载到内存中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48051685/

相关文章:

c++ - 什么是 C++ 中的复数数据类型和虚数数据类型?

c++ - 对象 : Cannot create children for a parent that is in a different thread

c++ - 在 Windows 7 上安装 QCA-OSSL(Qt 加密体系结构的一部分)插件时出现问题

javascript - z-index 属性未被检索,而其他属性正在被相同的辅助函数检索

c++ - 使用 STL 算法的命名空间和用户定义的运算符

java - 解析 XML 失败

xml - 您可以使用 XSL 将行分隔列表转换为正确的 xhtml 列表吗?

java - JAXB Unmarshalling - 将子元素的属性映射到 java 对象

javascript - 在 HTML/JavaScript 中,有没有办法在图像开始加载时知道图像的最终布局尺寸?

jquery - 如何递归 DOM 树?