
Extraer datos dependiendo la Id con pugixml
Publicado por FreakCoding (3 intervenciones) el 27/05/2015 00:29:56
Hola a todos, como verán estoy extrayendo informacion desde un xml, a traves de la libreria pugixml, el caso es que cuando recorro el xml y extraigo los datos, estos son una copia del primer nodo(a excepcion del codigo id), considero que el problema ronda al rededor de for. Podrian ayudarme?
Este es mi codigo:
Este es mi codigo:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
#include "pugixml.hpp"
#include <string.h>
#include <iostream>
using namespace pugi;
using namespace std;
int main()
{
xml_document doc;
xml_parse_result result = doc.load_file("books.xml");
xml_node root_node;
if (!(root_node = doc.child("catalog")))
{
cerr << "ERROR" <<endl;
}
for (pugi::xml_node node = root_node.first_child(); node; node = node.next_sibling("book"))
{
cout << "ID " << node.attribute("id").value() << endl;
cout << "Title: " << doc.child("catalog").child("book").child_value("title") << endl;
cout << "Author: " << doc.child("catalog").child("book").child_value("author") << endl;
cout << "Genre: " << doc.child("catalog").child("book").child_value("genre") << endl;
cout << "Price: " << doc.child("catalog").child("book").child_value("price") << endl;
cout << "Publish Date: " << doc.child("catalog").child("book").child_value("publish_date") << endl;
cout << "Description: " << doc.child("catalog").child("book").child_value("description") << endl;
}
cin.get();
}
- books.rar(1,4 KB)
Valora esta pregunta


0