- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我是 pugixml 的新手。考虑一下我给定了 XML here .我想获取每个学生的 Name
和 Roll
的值。下面的代码只找到标签而不是值。
#include <iostream>
#include "pugixml.hpp"
int main()
{
std::string xml_mesg = "<data> \
<student>\
<Name>student 1</Name>\
<Roll>111</Roll>\
</student>\
<student>\
<Name>student 2</Name>\
<Roll>222</Roll>\
</student>\
<student>\
<Name>student 3</Name>\
<Roll>333</Roll>\
</student>\
</data>";
pugi::xml_document doc;
doc.load_string(xml_mesg.c_str());
pugi::xml_node data = doc.child("data");
for(pugi::xml_node_iterator it=data.begin(); it!=data.end(); ++it)
{
for(pugi::xml_node_iterator itt=it->begin(); itt!=it->end(); ++itt)
std::cout << itt->name() << " " << std::endl;
}
return 0;
}
我想要每个学生的 Name 和 Roll 的输出。我怎样才能修改上面的代码?另外,如果有人可以引用here (按测试),我可以直接写pugixml支持的xpath。如果是这样,我如何使用 Pugixml 中的 Xpath 获取我寻求的值。
最佳答案
以下是仅使用 Xpath 即可实现的方法:
pugi::xpath_query student_query("/data/student");
pugi::xpath_query name_query("Name/text()");
pugi::xpath_query roll_query("Roll/text()");
pugi::xpath_node_set xpath_students = doc.select_nodes(student_query);
for (pugi::xpath_node xpath_student : xpath_students)
{
// Since Xpath results can be nodes or attributes, you must explicitly get
// the node out with .node()
pugi::xml_node student = xpath_student.node();
pugi::xml_node name = student.select_node(name_query).node();
pugi::xml_node roll = student.select_node(roll_query).node();
std::cout << "Student name: " << name.value() << std::endl;
std::cout << " roll: " << roll.value() << std::endl;
}
关于c++ - Pugixml C++解析XML,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27844061/
我正在尝试使用 pugixml 修改 xml 配置,通过 boost::serialization 创建并由其他应用程序使用,因此我只需要更改文档的几个片段并保持所有其他部分相同。 一些节点可能以的形
我正在使用 pugixml 库来读取和写入 xml 文件。 如何将“克隆”深度复制到 pugixml 库中的 xml_document 对象? 最佳答案 这是最简单的选择: xml_document
我正在尝试编译这个项目:https://github.com/computationalpathologygroup/ASAP.git从源头。Pugixml 是一个依赖 我已经从源代码构建了 pugi
所以我有 2 个这样定义的静态库: 静态库1 // StaticLib1.h #pragma once class StaticLib1 { public: void doSomething1()
我有以下 XML: 我正在尝试使用 PugiXML
我的 XML 结构如下: John abcdef
我尝试使用 pugixml 将 .xml 文件读取到我的 C++ 程序中。问题是,即使是第一个示例也行不通。 我的 .xml 看起来像这样:
我在互联网上找到了 pugixml,它是一个非常好的库,尤其是它的格式(只是一个 header /源组合,没有 dll 依赖项)。我的问题是,我为我的引擎制作了一个格式,但我无法获得所有的 xml 节
如何删除 的子节点有子节点 具有属性 id不是以 it 开头 使用 PugiXML。结果如下:
我有点懵。 pugi::xml_node::value() 返回类型为 chart_t 的字符串,它可以是 wchar_t 或 char,具体取决于编译标志。在 pugiXML 的文档中说它适用于 u
我在 pugixml 中加载文档(参见链接 http://pastebin.com/FE3nDX9h)时遇到了一些问题。 我收到错误代码 16:No document element found 这表
pugixml 节点对象是否有子节点数方法?我在文档中找不到它,不得不使用迭代器,如下所示: int n = 0; for (pugi::xml_node ch_node = xMainNode.ch
我正在尝试压缩来自 pugi::xml_document 的数据。这是我试过的: template void save(const T &object, const QString &path) {
我正在使用 pugixml 来解析文件。我一直在使用 xml_tree_walker 并且我有一个变量我想在 walker 遍历 xml 时修改。我目前正在使用全局变量但不想使用。有没有办法通过引用将
我正在尝试使用 pugixml 从大型 XML 文件中提取数据。我只对节点 BAR 和 Nm 中的值的值感兴趣: FOOBAR222222
我正在编写我的应用程序的一部分,将设置存储在 XML 文件中,但我不想“客户端”复制,我想要这个: 但我得到的是:
我是 pugixml 的新手。考虑一下我给定了 XML here .我想获取每个学生的 Name 和 Roll 的值。下面的代码只找到标签而不是值。 #include #include "pugix
我刚刚下载了 pugixml 库,我正在努力使其适应我的需要。它主要面向我未使用的 DOM 样式。我存储的数据如下所示: 0
我有一个程序可以解析大约 50MB 的 XML 文件并将数据提取到内部对象结构中,而没有指向原始 XML 文件的链接。当我尝试粗略估计我需要多少内存时,我估计是 40MB。 但是我的程序需要大约 35
在pugixml pugi::xmlnode 类型是一个用于引用 XML 树的各个部分的对象。由于模糊地类似于指针,这些对象可以是null。 pugi 库经常返回空节点,但我如何自己创建一个? [更新
我是一名优秀的程序员,十分优秀!