问题标签 [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++ - 比较一个xml中的元素并将其添加到另一个
我有两个 xml 文件
XML1
XML2
我想比较这两个文件并将缺少的节点从 XML2 添加到 XML1。我在 C++ 中使用 tinyxml。
我正在考虑为每个节点添加一个 guid,即
现在,当我进行比较时,我可以遍历 xml 中的节点并根据 id 比较节点并将缺少的节点添加到 XML1.xml 中。
有没有更好的方法来实现这一点?
c++ - 我应该使用 XPath 还是只使用 DOM?
我有一堆存储在 XML 文件中的分层数据。我正在使用 TinyXML 将其封装在手工制作的类后面。给定一个将源签名描述为一组(频率、级别)对的 XML 片段,有点像这样:
我正在用这个提取对:
其中 node() 指向<source>
节点。
问题:我会使用 XPath 库获得更整洁、更优雅、更易于维护或以任何其他方式更好的代码吗?
更新:我使用 TinyXPath 两种方式进行了尝试。它们都没有真正起作用,这显然对它们不利。我在做一些根本错误的事情吗?如果这就是 XPath 的样子,我认为它不会让我得到任何东西。
作为次要问题,如果是这样,我应该使用哪个 XPath 库?
iphone - xml解析需要不同的链接
这里有一个新的...
谁能告诉我关于不同类型 xml 解析的好例子或好教程的链接?
这些是我从某个地方发现的类型..
- NSXML解析器
- libxml2
- TBXML
- 触摸XML
- 亲吻XML
- 小XML
- GDataXML
我知道在 stackoverflow 上可能还有其他类似的问题,但我想在一个地方提供每种可能的解析的示例或教程的链接,这是我无法找到的东西......
请如果你有关于上面列出的解析的一个或多个好的教程的链接,或者你在任何时候使用过的任何其他解析,这是我在此处发布的谦虚请求。
提前谢谢大家..
xml - 正确翻译字符实体的最早版本的 TinyXML 是什么?
根据TinyXML 文档,当您在 TiXmlText 对象上调用 Value() 时,最新版本的软件正确地将标准的五个 XML 字符实体(&、"、'、>、<)转换为人类可读的等效项。
相比之下,该文档还指出,“旧版本的 TinyXML '保留'字符实体,但新版本会将它们转换为字符。”
我目前正在使用 TinyXML 2.5.3,并且在 TiXmlText 对象上调用 Value() 会保留返回值中的字符实体。
从 2.6 版开始,字符实体翻译是否仅作为 TinyXML 功能实现?或者我的角色实体是否应该在 2.5.3 中正确翻译并且出现其他问题?
非常感谢您的帮助!
c++ - 为什么删除的内存无法使用?C++
我有一个使用TinyXML加载的200 MB XML 文件。我的问题是当 TinyXML 对象被销毁时,它使用的内存将不会被重用。我用过在其他项目中使用过的内存泄漏检测器,并且手动单步执行了代码并没有发现任何内存泄漏,所以我不怀疑泄漏的内存是问题所在。
此代码将重现该问题:
使用地址空间监视器我可以看到,在LoadFile()
有一大块红色之后,在targetDoc
被破坏之后它都是黄色的。然后,当最终的 char buf 被分配时,它显示为红色,但在绿色空间的顶部,而不是从 TinyXML 中释放出来的黄色。如果尝试分配比绿色地址空间更多的缓冲区,应用程序将崩溃(内存不足)。这可以在下面的图片中看到。
根据地址空间监视器页面“可用地址空间显示为绿色,保留地址显示为黄色,使用(提交的)内存区域显示为红色”那么为什么 TinyXML 释放的内存根据地址空间监视器保持“保留”状态。什么会导致这种情况发生,我该如何阻止它?
编辑:
“你在分配大缓冲区吗?如果是这样,那么黄色空间中可能存在内存碎片,并且没有地方可以分配大的连续缓冲区”
很好的问题,但这表明 TinyXML 存在内存泄漏,而我的工具都没有显示存在内存泄漏。
更新
我制作了无限分配整数的循环,最终似乎使用了所有黄色空间。但是较大的分配不使用它。这向我表明,在由 tinyXML 解析 xml 文件的过程中,堆中散落着一些小的泄漏,它以这样的方式对堆进行分段,使得只有小到足以容纳泄漏之间的对象才能在黄色空间中分配. 所以我在 TinyXML 中搜索了更长时间和更努力的漏洞,但仍然没有找到任何漏洞。一切似乎都得到了正确的释放,这让我回到了最初的困惑状态。
我无法解释这个问题。
c++ - tinyxml c++ 使用 TiXmlText 存储整数数据
根据类引用,TixmlText 将 const char* 值作为输入。我需要将从文本文件读取的整数数据存储到 xml 中。整数数据存储在 int 向量中,向量的每个元素在传递给 Tixml 文本函数之前都转换为 const char*。
但是当我终于看到生成的 xml 文档时。我在保存数字的元素中得到垃圾值
<timestamp>1�504</timestamp>
我们如何正确存储整数数据?
我已经在tinyxml.h中追踪到问题发生的地方
功能
值相同class TiXmlNode
的地方TIXML_STRING value;
- 问题:我错过了一些非常简单的事情吗?
- 问题:如何正确存储整数数据
编辑:感谢文档的答案,我错过了使用编译时间定义:
TIXML_USE_STL
编译一个或另一个版本。这可以由编译器传递,或者设置为“tinyxml.h”的第一行。
注意:如果在 Linux 中编译测试代码,设置环境变量 TINYXML_USE_STL=YES/NO 将控制 STL 编译。在 Windows 项目文件中,提供了 STL 和非 STL 目标。在您的项目中, 将“#define TIXML_USE_STL”行添加为 tinyxml.h 的第一行可能是最简单的。
c++ - 使用 Tinyxml 检查是否存在 XML 节点
我正在使用 tinyXml 解析 C++ 中的 XML 文件。谁能告诉我如何检查节点(父/子/下一个兄弟)是否存在。以下是我正在处理的 xml 文件中存在的唯一节点。
如果序列中缺少上述任何节点,则程序将因分段错误而中止。
谁能帮忙。
谢谢
c++ - TinyXml how to serialize
EDIT: How can I serialize an xml using tinyxml?
Question 2: Can I deserialize the xml i've created with the same library tinyxml? does it have this advantage?
c++ - tinyXml 如何添加元素
我有以下内容:
可以这样吗?我希望拥有 .xml,例如:
谢谢!
我的问题是我是否可以将 int 值作为字符串。如果它;如果我以这种方式发送 xml 文件可以吗?或者有没有办法指定 5 是一个 int 而不是一个文本?
c++ - tinyXML xml 用 c++ 解析,没有 xml 文件
我正在尝试从这样的消息中解析 xml:
如何使用字符串或 char 数组数据创建 xmlDoc,这意味着没有 xml 文件?