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 if (node->type == XML_ELEMENT_NODE) {
21 if (strcmp(node->name, "ARTICULOS") == 0) {
22 node = node->children;
29 /* Cuento la cantidad de articulos en el archivo */
31 for ( ; node ; node = node->next) {
32 if (node->type == XML_ELEMENT_NODE) {
33 if (strcmp(node->name, "ARTICULO") == 0) {
39 tmp->array = (t_Articulo *)malloc(sizeof(t_Articulo)*cant);
41 if (tmp->array == NULL) {
48 node = xmlDocGetRootElement(document);
50 if (node->type == XML_ELEMENT_NODE) {
51 if (strcmp(node->name, "ARTICULOS") == 0) {
52 node = node->children;
61 for ( ; node ; node = node->next) {
62 if (node->type == XML_ELEMENT_NODE) {
63 if (strcmp(node->name, "ARTICULO") == 0) {
64 strncpy(tmp->array[cant].numero, xmlGetProp(node, "NroArticulo"), 8);
65 strncpy(tmp->array[cant].desc, xmlGetProp(node, "Descripcion"), 50);
66 strncpy(tmp->array[cant].presentacion, xmlGetProp(node, "Presentacion"), 30);
67 strncpy(tmp->array[cant].existencia, xmlGetProp(node, "Existencia"), 8);
68 // strncpy(tmp->array[cant].ubicacion, xmlGetProp(node, "Ubicacion"), 30);
69 strncpy(tmp->array[cant].pvu, xmlGetProp(node, "PVU"), 8);
70 strncpy(tmp->array[cant].emin, xmlGetProp(node, "Emin"), 8);
81 int art_liberar(t_LstArticulos *l)
83 if (l == NULL) return 1;
91 t_Articulo *art_obtener(t_LstArticulos *lst, const char *numero)
95 for(i=0; i<lst->cant; i++) {
96 j = atoi(lst->array[i].numero);
98 return &lst->array[i];