问题标签 [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++ - 嵌套类中的 pugixml 错误
我有以下 C++ 代码:
但是每次我想编译它(使用MinGW g++ 4.8.1)时,都会产生很多错误:
我还遇到过,当我删除该pugi::xml_document doc;
行时,所有错误都会消失(然后程序编译并运行良好)。这意味着,错误必须是由 pugixml 引起的。我必须在我的代码中进行哪些更改才能让程序正确编译?
c++ - 如何使用 pugixml 读取节点?
我刚刚下载了 pugixml 库,我正在尝试使其适应我的需要。它主要面向我不使用的 DOM 样式。我存储的数据如下所示:
通常将数据存储为某个节点的文本内容 - 即这是一个节点。在这种情况下,节点没有值,而是有一个 node_pcdata 类型的子节点,其值为“这是一个节点”。pugixml 提供 child_value() 和 text() 辅助函数来解析此类数据。
但是我在使用这些方法时遇到了问题,我没有得到节点值。
如何读出for内部的索引、x和y值?我会获得所有帮助。
c++ - 如何使用 pugixml 替换节点 pcdata 或文本
我正在寻找一种优雅的解决方案来使用 pugixml(1.6 版)替换节点 pcdata。例如,遍历一个节点集并将子值更新为某个值。
我用过:
但顾名思义,它只是附加数据,但我找不到任何功能:
另一个注意事项是节点上的属性很重要,应该保持不变。
谢谢你的帮助。
android - PugiXML 错误 - status_end_element_mismatch
我在我的一个示例(带有 JNI 的 Android)中使用 pugiXML,我试图解析一个用中文或日文编写的 XML 文件,我总是得到
case status_end_element_mismatch:返回“起始标签不匹配”;几乎总是在 XML 文件附近或末尾的某个随机行上。
我得到解析结果
pugi::xml_document doc;
pugi::xml_parse_result result = doc.load(File._Buffer);
if (result){
__android_log_print(ANDROID_LOG_INFO, "MyExample", "XML [ %s ] ;parsed without errors, attr value:[ %s ] ",File._Buffer , doc.child("node").attribute("attr").value());
else {
__android_log_print(ANDROID_LOG_INFO, "MyExample", "Error description: %s" , result.description());
__android_log_print(ANDROID_LOG_INFO, "MyExample", "Error offset: %ul" , result.offset);
}
我的英语 XML 工作得很好。
我已经使用各种验证器甚至“逐行手动”检查了 XML 文件,并且它没有丢失任何标签,并且所有验证器都确认它是有效的 XML 文件。
我的文件不超过 1 毫克。我读过有人成功使用了 pugiXML 超过 9 mg 的文件,所以这不是内存问题。
有人遇到过这种问题吗?如果有人有一些指示?
谢谢你。
c++ - 为什么 pugixml 不写回当前打开的文件?
下面的代码基本上就是我正在做的所有事情——打开一个 XML 文件,处理它并(试图)写回它。但回写失败,每次。我试图找到一个解决方案编写代码,谷歌搜索,但没有得到答案。
那么,是 pugi 在接受输入后没有关闭文件还是什么?情况似乎并非如此,因为我可以在程序运行时删除文件。有谁知道为什么我的程序读取文件但不将修改写回其中?
c++ - 两个项目两次使用同一个库的源
我有一个库和一个具有以下文件层次结构Lib
的可执行文件:App
两者都App
使用Lib
外部库 pugixml(可能是不同的版本)。它们直接将这些文件包含在项目中,并且 pugixml 基本上不再是外部依赖项。
App
依赖Lib
并包括所有必要的来源Lib
(它不链接Lib
)以成功编译自身。
如何避免编译时出现的 pugixml.hpp 库的命名空间冲突App
。如何在此设置中使用同一库的两个不同版本?
我看到以下选项:
将命名空间
pugixml
移入A
intonamespace A{ namespace pugixml {...} }
,同样的 inapp
:将命名空间pugixml
移入app
intonamespace app{ namespace pugixml {...} }
重命名所有命名空间?我该怎么做?硬编码?还是有为此的c ++语法?
什么是好方法?
c++ - 在 pugi xml_node 中保存 PUGI XML 树的子树
在一个函数中,我使用 pugi 首先加载一个 XML 文件。然后,我遍历树的子 xml 节点并将一些子 xml 节点(xml_node 类型的对象)推送到 xml_node 的向量。但是一旦我退出这个函数,从 XML 文件加载的原始 XML 树结构对象被删除,导致 xml 节点向量中的元素变得无效。
下面是一个示例代码(快速编写)来显示这一点:
因此,我需要一种方法来保存/复制/克隆/移动原始 XML 树的子树(xml 节点),以便即使在删除原始 XML 根树对象之后,我也可以在以后安全地解析它们。如何在 pugi 中做到这一点?
c++ - 使用 pugixml 和 C++ 将行添加到 .xml
我有一个需要使用 pugixml 和 Cpp 写入的 XML 文档。我的 XML 文档的一部分如下所示:
如何在第 13 行之后添加另一行 (dude name="man" delay="1" life="0.75" score="5") ,将所有其他行移到我的 .xml 文件中的下一行?
我在尝试....
但它似乎没有工作。有任何想法吗?
c++ - pugixml解析器获取元素值
我的 XML 结构如下:
我使用此代码正确打印名称标签的值
但是,我还需要在街道内打印名称和数字的值 - 标签,但我无法成功。
下面是显示来自这两个标签元素的值的代码:
但它什么也没显示。
有谁知道可能出了什么问题?
android - 使用 Android NDK 编译 PugiXML
我正在尝试使用 Android NDK 编译 PugiXML 库;它在网站上说这是可能的,但是下载不包含android makefile,而且我以前没有使用过NDK(文档没有帮助!)
我目前收到错误:
我最初收到一个错误,因为 NDK 找不到#include <iterator>
,我不确定我是否正确解决了这个问题。我尝试遵循这个 stackoverflow Q/A并最终出现上面显示的错误。
我当前的 Android.mk 如下所示:
我当前的 Application.mk 看起来像这样: