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

0 投票
1 回答
1563 浏览

c++ - 在 Pugixml 中获取 XPath 查询的行/列

我们想在 pugixml 中获取 xpath 查询结果的行/列:

我们可以检索偏移量,但不能检索行/列:

如果我们重新解析文件,我们可以转换 offset => (line, column),但效率不高。

有没有一种有效的方法来实现这一目标?

0 投票
1 回答
2858 浏览

c++ - pugixml“扩展”元素以增加价值

我试图设置一个元素的值,当元素看起来像这样时,<element></element>我只是这样做:

但是,当我有一个看起来像这样的元素时:

这行不通..我尝试在“set_value”行之前使用它

但这将在该元素中创建一个新元素,我不想这样做,

也许我的拳头方法甚至是错误的?你如何正确设置元素的值?

0 投票
1 回答
4506 浏览

c++ - 使用 PugiXML 解析 XML,无限循环

这几乎是我制作的第一个 C++ 程序,它应该在文档中显示一个 xml 节点列表。我使用 TinyXML 完成了完全相同的工作,但我发现 Pugi 更好,并希望继续使用它。

程序代码:

示例 XML:

代码一直有效,直到遇到两个<three>s 中的第一个并进入无限循环,这让我认为条件有问题,for(xml_node child = parent.first_child(); child != 0; child = parent.next_sibling())但一切都与示例中的相同?我可能错过了一些非常明显的东西......不过,这些是我在 C++ 中的第一步:)

我被理解为 C++ 中的 NULL 只是 0 对吗?

另外(很抱歉问了多个问题),这真的是用 pugi 做事的正确方法吗?对于 C++ 程序,我似乎没有太多使用指针?我很困惑。

0 投票
2 回答
4198 浏览

c++ - 如何将 pugi::char_t* 转换为字符串

您好我正在使用 pugixml 来处理 xml 文档。我使用这种结构遍历节点

问题是 it->name() 返回 pugi::char_t*,我需要将其转换为 std::string。是否可以 ??我在 pugixml 网站上找不到任何信息

0 投票
1 回答
1342 浏览

c++ - 有没有类似于 pugixml 语法的 MIT JSON 解析器?

所以我需要做 JSON 文档解析。我已经使用pugixml解析了 xml 文档,现在我需要使用与 XML 相同\相似的规则来解析 JSON 文档。

是否有一个开放源(MIT 或类似的)JSON 解析器,其 API 类似于 pugixml?

0 投票
1 回答
809 浏览

visual-studio-2010 - 在 Visual C++ .NET 2010 中使用 pugixml

我正在为我的最终项目构建一个 GUI。这个项目使用 pugixml 作为 xml 解析器来读取一些数据。一切都在控制台模式下工作。

所以我开始了一个新的 windows 窗体项目,并添加了我编写的所有头文件。我设计了我的 GUI 等。当我尝试编译时,所有东西都会编译,但是:

pugixml.cpp(5627): error C2440: 'return' : cannot convert from 'System::String ^' to 'const pugi::char_t *' No user-defined-conversion operator available, or 无法将托管类型转换为非托管类型

这是错误来自的代码:

const char_t* convert_number_to_string_special(double value) { #if defined(_MSC_VER) || 定义(BORLANDC)如果(_finite(值))返回(值== 0)?PUGIXML_TEXT("0") : 0; if (_isnan(value)) return PUGIXML_TEXT("NaN"); 这一行----> return PUGIXML_TEXT("-Infinity") + (value > 0);

我试图更改项目的配置,但没有得到任何直接的结果。

有什么线索吗?我将不胜感激!

提前致谢!

0 投票
1 回答
4334 浏览

c++ - 如何将 pugi:char_t* 转换为字符串?

可能重复:
如何将 pugi::char_t* 转换为字符串

如何将 pugi:char_t* 类型转换为 wchar_t 字符串?

我想将 child_value() 的结果与一些 utf8 字符串进行比较,如果没有这种转换,我就无法做到这一点。

此分配返回错误,因为右侧是 pugi::char_t* 而左侧是 whar_t*

谢谢

0 投票
3 回答
7145 浏览

c++ - pugixml 与 tinyxml

简短的问题:请对 pugixml 和 tinyxml 的比较有何评论?

详细信息 我需要使用 XML 解析器/编写器。我的软件是用 C++ 编写的。

在我看来 TinyXML 和 pugixml 都是不错的选择(RapidXML 也不错,但它的界面似乎不像上述两个那样简单,因为我必须自己管理数据分配)。

人们对两者之间的比较有何评论?我在一个嵌入式平台上工作,所以内存处理对我来说很重要,我需要能够解析和编写 XML 数据。

速度并不那么重要,但内存使用和更简单的界面才是。

谢谢。PS 我正在处理的 XML 文件相当小(最大大小 = 1200 字节;最大元素 = 6 或 7;XML 文件相当简单)。

0 投票
1 回答
1991 浏览

visual-c++ - 创建使用 PugiXml 的静态库时未解决的外部问题

我正在编写一个使用 PugiXml 进行 xml 解析的静态库。这是 Visual Studio 2010 的链接器输出(为了便于阅读,我已将符号替换为省略号):

我尝试过的事情:

  • 显式实例化我的模板类。
  • 将 PugiXml 源代码与测试项目链接(目前与我正在构建的静态库一起使用)
  • 将 PugiXml 构建为静态库并在我的 lib 项目和测试项目中引用它
  • 写作什么都不做的功能代替了我的纯虚函数。
  • 提供根本不引用 pugixml 的默认构造函数

在过去的两天里,这一直让我发疯,我真的不知道该怎么办。如果有人可以给我任何指导,我将不胜感激!

编辑:值得注意的是,创建一个使用 pugixml 编译和测试的简单静态库很好,所以我编写模板和类的方式可能有问题?

0 投票
1 回答
1404 浏览

pugixml - pugixml node_cdata, node_pcdata set_value() 无效字符

当我设置 node_pcdata 的值时,pugixml 似乎添加了无效字符。代码如下。我想做的是base-64编码一个PNG并通过XML发送。我将 base-64 编码的文本写入一个文件,以便与 pugixml 分开检查,它看起来不错,以这些有效字符结尾4AAAAASUVORK5CYII=。但ndAvatarData.set_value(avatarEnc)调用是为同一次运行添加无效字符4AAAAASUVORK5CYII= cY 3XA+&#23;Рz&#05;。有时结果是有效的,但我无法重复,所以我不知道在这种情况下 pugi 输出是什么样的。

我需要在这里做些什么吗?这是 pugixml 的已知问题吗?我搜索但找不到任何讨论这个问题的东西。

我在 Visual C++ 2010 中得到了这个。