如何在tinyxml生成的xml文件的顶部添加DOCTYPE

How to add !DOCTYPE at top of xml file generated from tinyxml?

本文关键字:xml 文件 添加 DOCTYPE 顶部 tinyxml      更新时间:2023-10-16

我通过使用tinyxml生成了一个"my_test.xml"文件,直到现在一切都很好,但现在我想对"my_test.xml"进行验证。并希望在"my_test.xml"的开头添加以下行:

<!DOCTYPE people SYSTEM "my_test.dtd">

不幸的是,根据http://www.grinninglizard.com/tinyxmldocs/, TinyXML似乎不支持解析上述示例中的DOCTYPE标记。实现这一目标的建议或最佳方法是什么?我已经花了很多时间来解析"my_test.xml",甚至不能考虑使用其他解析器。所以,请建议我以某种方式,我可以添加DOCTYPE标签,以验证"my_test.xml"对"my_test.dtd"。

我知道这是一篇2015年的老文章,但我自己刚刚遇到了这个问题,并有一个解决方案-

tinyxml2::XMLUnknown * DocType = xmlDoc.NewUnknown("DOCTYPE sometext SYSTEM "../myfile.dtd"");
xmlDoc.InsertEndChild(DocType);