问题标签 [pugixml]
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++ - C++ PugiXML 向量迭代器不兼容错误
我有一个应用程序,我在其中使用 PugiXML 将 XML 代码解析为带有纹理的精灵。但是,我在使这个for
循环正常工作时遇到了问题,因为编译器Expression: vector iterators incompatible
在循环期间一直返回运行时错误,就在initCollisionObject
启动时。任何帮助将不胜感激!
for
环形:
initCollisionObject
功能:
c - PugiXML 值输出编码
我有点困惑。pugi::xml_node::value() 返回chart_t 类型的字符串,它可以是wchar_t 或char,取决于编译标志。在 pugiXML 的文档中说它适用于 utf 系列编码的不同类型。好的。我正在使用 pugi::xml_document::load_file() 加载 uft16 编码的文档。那么当我迭代 throw 节点并在每个节点上调用 value() 方法时,我将在哪种编码中获得值?大概是在对我的数据进行编码时,我已将其加载到 xml_document。这意味着在 utf16 中。如果它在 utf16 中,那么我将无法使用该值,因为会有 0 符号并且我将无法使用 strlen、strcpy 等等......我已经进行了这样的测试,但一切正常美好的。有人知道它是如何工作的吗?
c++ - 从头开始构建 xml 树 - pugixml C++
首先,我想说我一直在使用由 Frank Vanden Berghen 编写的 XML 解析器,并且最近尝试迁移到 Pugixml。我发现过渡有点困难。希望能在这里得到一些帮助。
问题:如何使用 pugixml API 从头开始为下面的小 xml 构建树?我尝试查看 pugixml 主页上的示例,但其中大多数都使用根节点值进行了硬编码。我的意思是
是硬编码的。我还尝试阅读有关 xml_document 和 xml_node 文档,但如果我必须从头开始构建树,我不知道如何开始。
XML:
我可以看到大多数关于如何读取/解析 xml 的示例,但我找不到如何从头开始创建一个。
c++ - PugiXML empty document without error
I've the following XML:
I'm trying to parse it using PugiXML but after load my document is empty, the result description say no error:
but it's a empty doc:
Output:
I think that XML isn't problem, right ?
The XML is generated by other app, so I can't change, if have a problem in XML I'll need change XML parser ? TinyXML or libxml++ ?
c++ - 防止重复 pugixml::xml_node
我正在编写将设置存储在 XML 文件中的应用程序的一部分,但我不想“客户端”重复,我想要这个:
但相反,我得到:
以为“只检查节点是否已经存在”,但这就是问题所在,所以我有这段代码:
但!xclient
总是评估为真,也尝试过if (xclient.empty())
但也不起作用。
c++ - 递归pugixml,无法获取值
嗯,我有代码
在该代码之后,我无法从文本中获取任何值,但可以直接使用 like
正在工作中。需要帮忙。谢谢。
c++ - 使用 pugixml 解释程序的内存消耗
我有一个程序可以解析约 50MB 的 XML 文件并将数据提取到内部对象结构中,而没有指向原始 XML 文件的链接。当我试图粗略估计我需要多少内存时,我估计是 40MB。
但我的程序需要 350MB 之类的空间,我试图找出发生了什么。我使用boost::shared_ptr
,所以我不处理原始指针,希望我没有产生内存泄漏。
我试着写我所做的,我希望有人能指出我的过程中的问题,错误的假设等等。
首先,我是如何测量的?我曾经htop
发现我的内存已满,使用我的代码的进程正在使用大部分内存。为了总结不同线程的内存并获得更漂亮的输出,我使用了http://www.pixelbeat.org/scripts/ps_mem.py这证实了我的观察。
我粗略地估计了理论消耗量,以了解哪个因素介于消耗量和至少应该是什么之间。是10。所以我用来valgrind --tool=massif
分析内存消耗。它表明,在 350MB 的峰值时,250MB 被xml_allocator
来自pugixml
库的称为的东西使用。我去了我的代码部分,我在其中实例化pugi::xml_document
并放入std::cout
对象的析构函数以确认它已被释放,这发生在我的程序的早期(最后我睡了 20 秒,以便有足够的时间来测量内存消耗,即使在析构函数的控制台输出出现后仍保持 350MB)。
现在我不知道如何解释这一点,并希望有人能在我做出错误假设或类似假设的地方帮助我。
最外面的代码片段使用pugixml
类似于:
而且由于在我的代码中我没有在pugixml
某处存储元素(只有从中提取的实际值),所以我doc
希望在离开函数时释放所有资源parse
,但是在图表上看,我不知道在哪里(在时间轴上) 有时候是这样的。
ios - 在 iOS 上保存 xml 文件(pugiXml 和 Cocos2d-x)
最近我遇到了 pugiXml 的一个大问题(在 cocos2d-x 引擎中使用)。
不久,我做了一个问答游戏(在提到的 Cocos2d-x 中)。我将我的问题(和其他一些数据)保存在一个 Xml 文件中。在新游戏中,它们会被解析并插入字典。如果回答了一个问题,则将一个指示答案的短字符串(无论它是否好 - 是/否)插入到该 Xml 文件中(在该特定问题下方)。后来,我使用这些数据来显示统计数据(我计算了回答好的问题的百分比 - 这是计算 Y 的数量除以问题的数量,再乘以 100)。
我用:
获取文件及以后
将文件放入缓冲区并
解析数据并开始处理它。
最后,我将文件保存为:
安卓:
- 它运行良好,尽管我不得不将带有问题的文件复制到 /data/data/app/Files/ 。尽管如此,它仍在许多设备上进行更改。
IOS:
- 不幸的是,在 iOS 上它不起作用。数据被加载和解析(这意味着我可以真正玩游戏),但它们没有被保存。我尝试将文件移动到其他文件夹(从 Resources/Documents 开始,然后是主 Resources 文件夹、Resources/Library/Application Support)。它仍然没有保存数据,我不知道该怎么做。结果是我的统计数据没有被很好地计算(无论您如何回答问题 - 所有这些都是错误的,因为 Xml 文件没有被更新)。
有没有人遇到过类似的问题?你能帮我么?
c++ - C++ Pugixml 通过属性 id 获取父级的子级
例如:
如何获取 id 为 1 的级别数据?现在我正在使用pugi::xml_node level = levels.child("level")
但是返回所有级别..
问候, GJJ
c++ - EOF 处的 Cygwin g++ 编译器内部错误(分段错误),带有 pugixml
这是重现问题的最少代码。唯一的外部先决条件是 pugixml.hpp 文件。
上下文是一个类,用于解析 XML 文件中的 id 引用(即,给定一个字符串值,找到其 id 属性设置为该值的节点)。我有一些包装 pugixml API 的帮助类,其中相关部分是这样的:
代理.h
我的 id 解析器类的第一个实现是这样的
IdNodeSet-Ah
这在 Cygwin g++ 3.4.4(cygming special,gdc 0.12,使用 dmd 0.125)中产生了以下错误:
这完全令人费解。
我唯一想到的是在构造函数中使用'*this'。但是使用辅助成员类进行修改:
IDNodeSet-Bh
产生相同的错误:
这不是火箭科学代码,那么是什么导致编译器核心转储?
更新: 预处理器输出(即来自 g++ -E)在这两种情况下编译都没有问题。所以这有资格作为一种可能的解决方法,但问题仍然存在:在解决方法不可行的情况下应该避免哪种代码?