我需要使用 Windows API 将数据保存为 XML。有没有可以推荐的好的 XML DOM 教程——它不必非常简陋,因为我之前在 C# 中使用过 XML。
或者,有没有比使用 XML DOM 更好的方法?我不能使用 Windows 自带的 3rd-party 或 OSS 库。
除了 MSXML,我不知道任何其他 Microsoft C++ API。我个人对这个图书馆的印象是负面的。C++ 本身或作为 C++ 标准库的一部分没有正式的 XML DOM。同时有大量不同的 XML 阅读器/编写器,包括我自己的。
有大量的 XML 库——从 Apache Xerces 到TinyXML(我最喜欢的)。
您可以使用 OSS 库,您只需要仔细选择许可证 - Apache 许可证对您来说应该足够宽松,而 TinyXML 使用基本上是公共领域的zlib 库。TinyXML 可以直接包含在您的程序中(如果您喜欢 - 一个 cpp 和 .h 文件,可以像您自己编写一样编译)
事实上,MSXML 没问题,但如果您重用存储在 CComPTR 智能指针类中的 MSXML 对象,您真的必须记住删除现有指针,否则您会泄漏内存。
最终,我最终使用了MSDN 上的一系列示例。虽然有几种替代品可能更可取,但我受到公司政策的限制,只能使用包装盒上已有的东西。
如前所述 TinyXML 是 C++ 的事实标准,有很多但我看到它使用最多,我相信它的网站也有教程