问题标签 [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.

0 投票
4 回答
20397 浏览

c++ - TinyXML:将文档保存为 char * 或字符串

我正在尝试使用 TinyXML 从内存中读取和保存,而不仅仅是读取文件并将其保存到磁盘。

似乎文档的 parse 函数可以加载一个 char *. 但是,当我完成它时,我需要将文档保存到 char * 中。有人知道吗?

编辑:打印和流媒体功能不是我想要的。它们以可查看的格式输出,我需要实际的 xml 内容。

编辑:打印很酷。

0 投票
3 回答
5132 浏览

c++ - TinyXML 的 UTF-8 支持如何工作?

我正在使用TinyXML来解析/构建 XML 文件。现在,根据文档,该库通过 UTF-8 支持多字节字符集。到目前为止,我认为很好。但是,该库提供的唯一 API(用于获取/设置元素名称、属性名称和值,......使用字符串的所有内容)是通过std::stringor const char*。这让我怀疑自己对多字节字符集支持的理解。仅支持 8 位字符的字符串如何包含 16 位字符(除非它使用代码页,否则会否定“支持 Unicode”声明)?我了解您理论上可以采用 16 位代码点并将其拆分为 a 中的 2 个字符std::string,但这不会改变std::string对于“Unicode”字符串,它会使其在大多数用途中无效,并且在写入文件并被另一个程序读入时可能会意外工作。

那么,有人可以向我解释一个库如何提供“8 位接口”(std::stringconst char*)并且仍然支持“Unicode”字符串吗?

(我可能在这里混淆了一些 Unicode 术语;对于由此产生的任何混淆,我深表歉意)。

0 投票
3 回答
826 浏览

c++ - TinyXML++ 的奇怪行为

希望你们中的一些 TinyXML++ 人可以帮助我。真的,因为你在我认为你欠我之前向我推荐了;)

我有以下代码:

如果我对 child 使用 top 声明,我会收到错误:

Drawing.exe 中 0x7c812aeb 处未处理的异常:Microsoft C++ 异常:__non_rtti_object @ 0x0012f7b4。

我在这一行的 dbgheap.c 中得到它:

奇怪的是它适用于 Node,而且我知道其中有元素(我使用 TinyXML 迭代方法进行了检查)。

有没有人遇到过这个?

0 投票
1 回答
823 浏览

c++ - TiXmlElement* 的 Getter 和 setter 包装器

我正在重写一个项目,以便它使用 getter 和 setter 来引用 TiXmlElement *'s 但是,我很快遇到了似乎与调试模式有关的问题:

摘自我班的标题:

类构造函数的摘录:

实例化类的摘录:

现在是奇怪的部分。这工作直到

在构造函数中。

->FirstChildElement("dialogs") 在调试模式下在 VS2008 中抛出“CXX0039: Error: symbol is ambiguous”错误。

奇怪的部分是 IntelliSense 采用了 FirstChildElement 方法,并且编译器不会抛出任何错误。

更奇怪的是,在发布模式下,它只是默默地无法获取对话框元素。

我做错了什么?或者,如果您已经成功地为 TiXmlElement* 实现了 getter setter 包装器,请告诉我该怎么做!

完整参考这里是 XML 文件的摘录:

反馈将不胜感激,因为我处于死胡同:)

0 投票
2 回答
1530 浏览

c++ - TinyXML:如何解析文件指针

我正在尝试将文件指针popen 的输出连接到TinyXML 的输入。

根据主页,最好的方法是使用 parse 方法:

我相信我需要使用 TIXML_USE_STL 来实现这一点。我该如何寻找示例并导入它?

删除后的回复指出我在文档上的正确方向

http://www.grinninglizard.com/tinyxmldocs/index.html

谢谢。

现在,我只需要弄清楚如何链接和导入它。

0 投票
2 回答
9282 浏览

c++ - 如何创建单独的库以包含在 C++/Eclipse 中

我已经获得了一些 C++ 代码来使用 TinyXML 解析器。但是,要做到这一点,我必须将 TinyXML 的源代码包含在我的常规源代码中。我想将 TinyXML 作为一个单独的库包含在内。我将 Eclipse 与 Cygwin C++ 编译器一起使用。有什么好方法可以做到这一点?

0 投票
2 回答
15311 浏览

c++ - 如何使用 TinyXml 解析特定元素

我想从TinyXml输出中解析一组元素。本质上,我需要挑选出任何端口元素的"portid"属性,该端口的状态为"open"(如下所示的端口 23)。

最好的方法是什么?以下是 TinyXml 输出的(简化)清单:

0 投票
2 回答
4408 浏览

c++ - 将 TinyXml 用于 C++ 时,我需要清理哪些内存管理?

我正在使用TinyXml执行以下操作:

在我的程序执行结束时,是否会在超出范围TiXmlElement*时清理所有内容?doc我需要自己遍历文档树并释放所有内存吗?

0 投票
4 回答
30212 浏览

c++ - C++ 中的 XML 序列化/反序列化

我正在使用来自 Mingw 的 C++,它是 GNC C++ 的 Windows 版本。

我想要做的是:将 C++ 对象序列化为 XML 文件,并即时从 XML 文件中反序列化对象。我检查 TinyXML。它非常有用,并且(如果我误解请纠正我)它基本上在处理过程中添加所有节点,最后使用 TixmlDocument::saveToFile(filename) 函数将它们放入一个文件中。

我正在进行实时处理,如何即时写入文件并将以下结果附加到文件中?

谢谢。

0 投票
2 回答
1084 浏览

c++ - 如何最好地保存 XML 文件

我有一堆类,每个类都使用TinyXML从 XML 文件中读取它们的值。

我已经这样做了,所以一切都在内存中,我的用户正在使用该应用程序并进行更改。如果用户按下保存,我需要遍历我的对象并调用写出 XML 文件的 Save() 函数。我应该从头开始以编程方式重建 XML 文件并将其写出来吗?或者我应该使用TiXmlHandle我用来读取文件的相同,修改它然后将它写回?这样,原始顺序保持不变。如果我重新创建 XML,那么原始的顺序将会改变。

我希望用户能够手动修改 XML,所以我认为他们手动更改它会很奇怪,只是在保存时重新洗牌。我是否正确理解我的选择?

以前从未使用过 TinyXML,也从未使用过 XML。