问题标签 [tinyxml]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
c++ - TinyXML:将文档保存为 char * 或字符串
我正在尝试使用 TinyXML 从内存中读取和保存,而不仅仅是读取文件并将其保存到磁盘。
似乎文档的 parse 函数可以加载一个 char *. 但是,当我完成它时,我需要将文档保存到 char * 中。有人知道吗?
编辑:打印和流媒体功能不是我想要的。它们以可查看的格式输出,我需要实际的 xml 内容。
编辑:打印很酷。
c++ - TinyXML 的 UTF-8 支持如何工作?
我正在使用TinyXML来解析/构建 XML 文件。现在,根据文档,该库通过 UTF-8 支持多字节字符集。到目前为止,我认为很好。但是,该库提供的唯一 API(用于获取/设置元素名称、属性名称和值,......使用字符串的所有内容)是通过std::string
or const char*
。这让我怀疑自己对多字节字符集支持的理解。仅支持 8 位字符的字符串如何包含 16 位字符(除非它使用代码页,否则会否定“支持 Unicode”声明)?我了解您理论上可以采用 16 位代码点并将其拆分为 a 中的 2 个字符std::string
,但这不会改变std::string
对于“Unicode”字符串,它会使其在大多数用途中无效,并且在写入文件并被另一个程序读入时可能会意外工作。
那么,有人可以向我解释一个库如何提供“8 位接口”(std::string
或const char*
)并且仍然支持“Unicode”字符串吗?
(我可能在这里混淆了一些 Unicode 术语;对于由此产生的任何混淆,我深表歉意)。
c++ - TinyXML++ 的奇怪行为
希望你们中的一些 TinyXML++ 人可以帮助我。真的,因为你在我认为你欠我之前向我推荐了;)
我有以下代码:
如果我对 child 使用 top 声明,我会收到错误:
Drawing.exe 中 0x7c812aeb 处未处理的异常:Microsoft C++ 异常:__non_rtti_object @ 0x0012f7b4。
我在这一行的 dbgheap.c 中得到它:
奇怪的是它适用于 Node,而且我知道其中有元素(我使用 TinyXML 迭代方法进行了检查)。
有没有人遇到过这个?
c++ - TiXmlElement* 的 Getter 和 setter 包装器
我正在重写一个项目,以便它使用 getter 和 setter 来引用 TiXmlElement *'s 但是,我很快遇到了似乎与调试模式有关的问题:
摘自我班的标题:
类构造函数的摘录:
实例化类的摘录:
现在是奇怪的部分。这工作直到
在构造函数中。
->FirstChildElement("dialogs") 在调试模式下在 VS2008 中抛出“CXX0039: Error: symbol is ambiguous”错误。
奇怪的部分是 IntelliSense 采用了 FirstChildElement 方法,并且编译器不会抛出任何错误。
更奇怪的是,在发布模式下,它只是默默地无法获取对话框元素。
我做错了什么?或者,如果您已经成功地为 TiXmlElement* 实现了 getter setter 包装器,请告诉我该怎么做!
完整参考这里是 XML 文件的摘录:
反馈将不胜感激,因为我处于死胡同:)
c++ - TinyXML:如何解析文件指针
我正在尝试将文件指针popen 的输出连接到TinyXML 的输入。
根据主页,最好的方法是使用 parse 方法:
我相信我需要使用 TIXML_USE_STL 来实现这一点。我该如何寻找示例并导入它?
删除后的回复指出我在文档上的正确方向
http://www.grinninglizard.com/tinyxmldocs/index.html
谢谢。
现在,我只需要弄清楚如何链接和导入它。
c++ - 如何创建单独的库以包含在 C++/Eclipse 中
我已经获得了一些 C++ 代码来使用 TinyXML 解析器。但是,要做到这一点,我必须将 TinyXML 的源代码包含在我的常规源代码中。我想将 TinyXML 作为一个单独的库包含在内。我将 Eclipse 与 Cygwin C++ 编译器一起使用。有什么好方法可以做到这一点?
c++ - 如何使用 TinyXml 解析特定元素
我想从TinyXml
输出中解析一组元素。本质上,我需要挑选出任何端口元素的"portid"
属性,该端口的状态为"open"
(如下所示的端口 23)。
最好的方法是什么?以下是 TinyXml 输出的(简化)清单:
c++ - 将 TinyXml 用于 C++ 时,我需要清理哪些内存管理?
我正在使用TinyXml执行以下操作:
在我的程序执行结束时,是否会在超出范围TiXmlElement*
时清理所有内容?doc
我需要自己遍历文档树并释放所有内存吗?
c++ - C++ 中的 XML 序列化/反序列化
我正在使用来自 Mingw 的 C++,它是 GNC C++ 的 Windows 版本。
我想要做的是:将 C++ 对象序列化为 XML 文件,并即时从 XML 文件中反序列化对象。我检查 TinyXML。它非常有用,并且(如果我误解请纠正我)它基本上在处理过程中添加所有节点,最后使用 TixmlDocument::saveToFile(filename) 函数将它们放入一个文件中。
我正在进行实时处理,如何即时写入文件并将以下结果附加到文件中?
谢谢。
c++ - 如何最好地保存 XML 文件
我有一堆类,每个类都使用TinyXML从 XML 文件中读取它们的值。
我已经这样做了,所以一切都在内存中,我的用户正在使用该应用程序并进行更改。如果用户按下保存,我需要遍历我的对象并调用写出 XML 文件的 Save() 函数。我应该从头开始以编程方式重建 XML 文件并将其写出来吗?或者我应该使用TiXmlHandle
我用来读取文件的相同,修改它然后将它写回?这样,原始顺序保持不变。如果我重新创建 XML,那么原始的顺序将会改变。
我希望用户能够手动修改 XML,所以我认为他们手动更改它会很奇怪,只是在保存时重新洗牌。我是否正确理解我的选择?
以前从未使用过 TinyXML,也从未使用过 XML。