4 t_LstArticulos *art_cargar(const char *filename)
9 t_LstArticulos *tmp = (t_LstArticulos *)malloc(sizeof(t_LstArticulos));
10 if (tmp == NULL) return NULL;
12 document = xmlParseFile(filename);
13 if (document == NULL) {
18 node = xmlDocGetRootElement(document);
20 /* Cuento la cantidad de articulos en el archivo */
22 for ( ; node ; node = node->next) {
23 if (node->type == XML_ELEMENT_NODE) {
24 if (strcmp(node->name, "ARTICULO") == 0) {
30 tmp->array = (t_Articulo *)malloc(sizeof(t_Articulo)*cant);
32 node = xmlDocGetRootElement(document);
36 for ( ; node ; node = node->next) {
37 if (node->type == XML_ELEMENT_NODE) {
38 if (strcmp(node->name, "ARTICULO") == 0) {
39 strncpy(tmp->array[cant].numero, xmlGetProp(node, "NroArtículo"), 8);
40 strncpy(tmp->array[cant].desc, xmlGetProp(node, "Descripción"), 50);
41 strncpy(tmp->array[cant].presentacion, xmlGetProp(node, "Presentación"), 30);
42 strncpy(tmp->array[cant].existencia, xmlGetProp(node, "Existencia"), 8);
43 strncpy(tmp->array[cant].ubicacion, xmlGetProp(node, "Ubicación"), 30);
44 strncpy(tmp->array[cant].pvu, xmlGetProp(node, "PVU"), 8);
45 strncpy(tmp->array[cant].emin, xmlGetProp(node, "Emín"), 8);
56 int art_liberar(t_LstArticulos *l)
58 if (l == NULL) return 1;
66 t_Articulo *art_obtener(t_LstArticulos *lst, const char *numero)