Ver Mensaje Individual
  #2 (permalink)  
Antiguo 30/01/2014, 09:43
Avatar de Namiwis
Namiwis
 
Fecha de Ingreso: mayo-2013
Ubicación: Crustaceo Cascarudo
Mensajes: 162
Antigüedad: 11 años, 7 meses
Puntos: 10
Respuesta: como agregar mas nodos "concepto" en un ciclo for??

Hola rudolfcruz nuevamente

Te comparto como lo hago yo, aunque lo hago de manera distinta a como lo expones en tu codigo, espero te sirva para darte una idea

Código:
 W.WriteStartElement("cfdi:Conceptos");
            //Nodo Conceptos
            for (int zzzzZZZZ = 0; zzzzZZZZ < dataGridView_Productos.Rows.Count; zzzzZZZZ++)
            {
                //Se escribe nodo Concepto
                W.WriteStartElement("cfdi:Concepto");
                //Se escribe atributo Cantidad
                W.WriteStartAttribute("cantidad");
                W.WriteValue(dataGridView_Productos.Rows[zzzzZZZZ].Cells[0].Value);
                W.WriteEndAttribute();
                //Se escribe atributo Unidad
                W.WriteStartAttribute("unidad");
                W.WriteValue(dataGridView_Productos.Rows[zzzzZZZZ].Cells[1].Value);
                W.WriteEndAttribute();
                //Se escribe atributo SKU en caso que exista
                if (dataGridView_Productos.Rows[zzzzZZZZ].Cells[2].Value.ToString() != "")
                {
                    W.WriteStartAttribute("noIdentificacion");
                    W.WriteValue(dataGridView_Productos.Rows[zzzzZZZZ].Cells[2].Value);
                    W.WriteEndAttribute();
                }
                //Se escribe atributo descripcion
                W.WriteStartAttribute("descripcion");
                W.WriteValue(dataGridView_Productos.Rows[zzzzZZZZ].Cells[3].Value);
                W.WriteEndAttribute();
                //Se escribe atributo ValorUnitario
                W.WriteStartAttribute("valorUnitario");
                W.WriteValue(dataGridView_Productos.Rows[zzzzZZZZ].Cells[4].Value);
                W.WriteEndAttribute();
                //Se escribe atributo Importe
                W.WriteStartAttribute("importe");
                W.WriteValue(dataGridView_Productos.Rows[zzzzZZZZ].Cells[5].Value);
                W.WriteEndAttribute();
                //Se cierra el nodo
                W.WriteEndElement();

            }

            W.WriteEndElement(); //Finaliza nodo Conceptos

Lo que yo hago es vaciar de un DataGridView que previamente la persona que esta haciendo el CFDi lleno con sus partidas.

Saluditos.