Dev - C++ - Extraer datos dependiendo la Id con pugixml

 
Vista:
sin imagen de perfil

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:

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();
}
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder