【发布时间】:2015-06-02 10:18:36
【问题描述】:
我刚刚下载了 pugixml 库,我正在尝试使其适应我的需要。它主要面向我不使用的 DOM 样式。我存储的数据如下所示:
<?xml version="1.0" encoding="UTF-8"?>
<profile>
<points>
<point>
<index>0</index>
<x>0</x>
<y>50</y>
</point>
<point>
<index>1</index>
<x>2</x>
<y>49.9583</y>
</point>
<point>
<index>2</index>
<x>12</x>
<y>50.3083</y>
</point>
</points>
</profile>
通常将数据存储为某个节点的文本内容 - 即 这是一个节点。在这种情况下, 节点没有值,而是有一个子节点 键入值为“这是一个节点”的 node_pcdata。 pugixml 提供 child_value() 和 text() 辅助函数来解析这些数据。
但是我在使用这些方法时遇到问题,我没有得到节点值。
#include "pugixml.hpp"
#include <string.h>
#include <iostream>
int main()
{
pugi::xml_document doc;
if (!doc.load_file("/home/lukasz/Programy/eclipse_linux_projects/xmlTest/Debug/pidtest.xml"))
return -1;
pugi::xml_node points = doc.child("profile").child("points");
for (pugi::xml_node point = points.first_child(); point; point = points.next_sibling())
{
// ?
}
return 0;
}
如何读出for里面的index、x、y值?我会获得所有帮助。
【问题讨论】: