问题标签 [rapidxml]

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 回答
727 浏览

c++ - RapidXML 属性值错误

我过去使用 RapidXML 时遇到的问题很少,但这个问题让我很困惑。

我正在创建应用程序事件时间戳的日志,外部程序可以在重播中读取原始应用程序中在正确时间发生的任何音频。

在初始化应用程序时,会正确生成以下 XML:

添加下一项后,文档将变为:

接着:

随着每个新的开始停止对的添加,还可以看到最终的以下行为,所有具有相同事件属性值的节点的时间戳值都发生了变化:

我在 c++ 头文件中这样声明文档:

为了创建每个节点,我使用以下代码:

传递给此函数的 TimeStamp* 值保存在 std::vector 中,当添加新值时,将调用此函数。

如果有人对这里发生的事情有任何想法,那将是一个巨大的帮助。另外,如果需要更多信息,我也可以提供。

0 投票
1 回答
1873 浏览

c++ - RapidXML 提供空 CDATA 节点

我也写了下面的代码来获取 CDATA 节点值,我得到了节点的名称,但值是空白的。

我将解析标志更改为 parse_full,但它也不起作用。

如果我从 XML 中手动删除“<![CDATA[”和“]]>”,它会按预期提供值,但在解析之前删除它不是一个选项。

编码:

XML:

0 投票
0 回答
308 浏览

c++ - RapidXML / C++ - 解析成静态类成员

我有一个带有 rapidxml::xml_document 的类,但是当我尝试将 XML 解析到其中时,它会填充......嗯,不是垃圾,而是关于我的命名空间等的信息。

在下面的代码中,我有一些我尝试过的示例、注释掉的示例以及一个局部变量,doc 是从类成员字符串中正确填充的。

有任何想法吗?

。H

.cpp

0 投票
2 回答
278 浏览

xml - RapidXML - 如何从服务器位置打开 XML 文件?

我无法从服务器位置读取 xml 文件。当文件在计算机上本地打开时,它似乎工作正常。但是,当从服务器上的某个位置打开文件时,它不起作用。你知道问题可能是什么吗?我是否错误地使用了正斜杠?

以下作品:

以下不起作用:

0 投票
2 回答
488 浏览

c++ - RapidXml - 解析字符时缓冲区溢出 *

我正在尝试创建一个成员函数,用于从字符串设置 rapidxml::xml_document<> 对象,std::string、const std::string 和 const char * 的重载对象工作正常。

当我尝试直接加载 char * 时,我得到一个缓冲区溢出,使用复制的字符串可以工作(我想避免这种情况,因为字符串很长)。

我的系统:使用 g++ 4.8.2 进行 Debian 测试

编辑:我知道该字符串将被 rapidxml 修改(对于const char * 对象,因此我创建一个副本(每个 std::vector))

产生相同溢出的示例代码如下:

0 投票
1 回答
907 浏览

c++ - 在计算机上构建 RAPIDXML 库时遇到问题 - 错误消息

我正在开发一个 c++ 项目,我想在其中使用 rapidxml 库。该库可以在这里找到:http : //rapidxml.sourceforge.net/ 我下载了这个(4 个源代码文件 .hpp),并且能够使用 CodeBlocks IDE 在我的 Windows 机器上编译该项目。

但是,当我尝试在学校的 linux 机器上构建它时,它显示以下错误消息并且无法成功编译

我不确定问题是什么以及如何避免这些错误/警告。

0 投票
2 回答
1579 浏览

c++ - 使用 RapidXML 读取 XML 节点

我正在使用 RapidXML 解析 XML 文件并读取节点内容,但我不想读取节点内的值,我需要“作为 XML”读取特定 XML 节点的内容,而不是作为解析值。

例子 :

我需要获取node1as 的内容:

我累了什么:

我尝试了一些东西,但在我看来它并不是很好,它即将放入 node1,另一个要读取的 xml 文件的路径,我确实喜欢这样:

然后我的 C++ 代码如下:

ifstream 文件(FileToRead);

串流缓冲区;缓冲区 << file.rdbuf();

但问题是用户将有很多 XML 文件需要维护,而我只想使用一个 xml 文件。

0 投票
1 回答
4799 浏览

visual-c++ - RapidXML 保存到文件中

我用谷歌搜索了它,但在将xml_document<>文档保存在.xml文件中时遇到问题。此代码将国际象棋游戏 符号保存为 XML 文件,我将把它放入一个压缩文件中,以便将多媒体文件添加到其中。因此,有人可以为存储在 XML 中的每个游戏添加音频评论。

和功能

这是问题所在:

我已经尝试过 file<<this->doc;,但 MSVC 抛出了一个错误并将operator<< 标记为 error。我试图用谷歌搜索它并在 Stack Overflow 中查找有关 rapidxml 的其他问题,但我还没有找到一些令人满意的解决方案。

0 投票
2 回答
342 浏览

c++ - RapidXML 加载 xml 文件

我无法从 xml 返回负载。这是代码:

RapidXML xml 加载器

主功能

xml文件

fambeamGeometry 正确加载了“EquiDistance”和“2”,但是当它从 ParseFanbeamGeometry() 返回到 main 时,该值变成了一些奇怪的值,例如 -18 和 -2。

有什么建议么?我不知道为什么。如何让 xml 加载器返回它加载的内容?谢谢。

0 投票
1 回答
785 浏览

c++ - 使用快速 xml 查找子元素

我尝试获取一个简单 xml 的子元素,但它不能正常工作。我得到运行时异常:Access violation reading location 0x0000000。我只是尝试像这样访问它:

xml很简单:

我确实从行中获取了根元素LOG(m_doc.first_node()->name());的日志,并从“寻找”中获取了日志。我不知道我做错了什么?我得到了第一个应该是 root 的元素(并且记录器这么说),然后我尝试找到第一个名为 test 的子元素。其中应该有价值测试。如果我尝试打印名称等,我也会遇到同样的异常。


更新: 我刚刚尝试了 LOG(m_doc.first_node()->first_node("test")->value()); 这确实返回了正确的值。但我不能调用我的方法来做到这一点。我做错了什么方法?有什么线索吗?LOG(findNode("test")->value()); 不工作。所以有些地方不对劲。