Ver Mensaje Individual
  #1 (permalink)  
Antiguo 03/09/2012, 16:46
Avatar de NetFcruz
NetFcruz
 
Fecha de Ingreso: agosto-2012
Ubicación: Reynosa
Mensajes: 32
Antigüedad: 12 años, 3 meses
Puntos: 0
Pregunta Addenda: Agregarla a un XML Timbrado, leido desde VB.NET 2010

Hola amigos, antes que nada dejeme explacar como pienso, el cual me gustaria saber su opinion sobre mi post. Pasa que un xml generado con timbre y todo por el sat, y lo leo o cargo a un texbox multilinea donde separo todo y me lo muestra una vez cargado(ese "xml cfdi" no lo eh generado yo), despues tengo una subrutina que me crea un xml con el nodo , y me lo muestra tmbn en otro texbox una vez generado, de ahi aprte mi consulta, lo que genere de addenda xml como deberia ser una subrutina o funcion que me agrege lo de a el xml que lei en un texbox multillinea el cual tiene el timbre validado ya, es decir pegarle la addenda, se puede eso?

Le pondre el code que lee mi XML Cargado timbrado, leyendolo en un texbox.
Código:
Sub SubLeerArchivoXml()

'Declaro variable para leer archivo Xml
Dim reader As XmlTextReader = New XmlTextReader("c:\Addenda\Archivos\addenda.xml")

'Ciclo de lectura
Do While (reader.Read())
Select Case reader.NodeType
Case XmlNodeType.Element 'Mostrar comienzo del elemento.
txtContenido.Text += "<" + reader.Name
If reader.HasAttributes Then 'If attributes exist
While reader.MoveToNextAttribute()
'Mostrar nombre y valor del atributo.
txtContenido.Text += Space(1) + reader.Name + "=" + reader.Value
End While
End If
txtContenido.Text += ">" + vbCrLf
Case XmlNodeType.Text 'Mostrar el texto de cada elemento.
txtContenido.Text += reader.Value
Case XmlNodeType.EndElement 'Mostrar final del elemento.
txtContenido.Text += " txtContenido.Text += ">" + vbCrLf
End Select
Loop



'Cierra el Archivo
reader.Close()


End Sub
Esto es para crear la addenda mediante un formulario:
Código:
'Declaro Subrutinas globales
Sub SubCrearArchivoXml()

'Declaro variable array para los libros
Dim objLibros As New ArrayList
Dim objLibro As New stcLibro
Dim objAddenda As New stcAddenda
Dim objAddendas As New ArrayList


'Variable para el Archivo Xlml
Dim myXmlTextWriter As XmlTextWriter = New XmlTextWriter("c:\Addenda\Archivos\addenda2.xml", System.Text.Encoding.UTF8)

'Anado objAddenda
'Anado unas caracteristicas de Addenda
objAddenda.TipoAddenda = CBOTADENDA.Text
objAddenda.Concepto = CBOCONCEPTO.Text
objAddenda.NumTienda = TXTUNEG.Text
objAddenda.NumProveedor = TXTNPROV.Text
objAddenda.FolioRef = TXTFOREF.Text

'AGREGO ADDENDA A COLECCION
objAddendas.Add(objAddenda)

'Añado algunos libros
objLibro.strTitulo = "Don Quijote de la Mancha"
objLibro.strAutor.strNombre = "Miguel"
objLibro.strAutor.strApellido = "de Cervantes Saavedra"
objLibro.sinPrecio = 34.5

'Agrego a la Colección
'objLibros.Add(objLibro)

objLibro.strTitulo = "Los de Abajo"
objLibro.strAutor.strNombre = "Mariano"
objLibro.strAutor.strApellido = "Azuela"
objLibro.sinPrecio = 28.5

'Agrego a la Colección
'objLibros.Add(objLibro)

objLibro.strTitulo = "Como agua para chocolate"
objLibro.strAutor.strNombre = "Laura"
objLibro.strAutor.strApellido = "Esquivel"
objLibro.sinPrecio = 34.5

'Agrego a la Colección
'objLibros.Add(objLibro)


'Formatea indentado el archivo
myXmlTextWriter.Formatting = System.Xml.Formatting.Indented

'Si escribe la inicializacion del Archivo
myXmlTextWriter.WriteStartDocument(True)

'Escribe un Comentario
' myXmlTextWriter.WriteComment("Esto es Fragmento de Addenda")

'Crear el elemento principal del documento
myXmlTextWriter.WriteStartElement("Complemento")
myXmlTextWriter.WriteAttributeString("id", "identificador")


'---------------------------ADDENDA-------------------------------

'Ciclo para incluir los elementos de la colección
For Each oAddenda As stcAddenda In objAddendas

'Escribe el inicio del elemento cfdi: Addenda
myXmlTextWriter.WriteStartElement("Addenda")


'Crear un elemento llamado 'TipoAddenda' con un nodo de texto
myXmlTextWriter.WriteStartElement("TipoAddenda")

'Escribe el Titulo
' myXmlTextWriter.WriteString(oAddenda.TipoAddenda)

'Crear un elemento llamado 'cfdi:Concepto' con un nodo de texto
' y cerrarlo en una línea.
myXmlTextWriter.WriteElementString("TipoAddenda", oAddenda.TipoAddenda)


'Cierra el elemento.
myXmlTextWriter.WriteEndElement()

'Crear un elemento llamado 'Concepto'.
myXmlTextWriter.WriteStartElement("Concepto")

'Crear un elemento llamado 'cfdi:Concepto' con un nodo de texto
' y cerrarlo en una línea.
myXmlTextWriter.WriteElementString("Concepto", oAddenda.Concepto)

'Crear un elemento llamado 'last-name' con un nodo de texto.
'myXmlTextWriter.WriteElementString("cfdi:Concepto", oAddenda.Concepto)

'Crear un elemento llamado 'UProveedor'.
myXmlTextWriter.WriteStartElement("NumProveedor")

'Crear un elemento llamado 'cfdi:Concepto' con un nodo de texto
' y cerrarlo en una línea.
myXmlTextWriter.WriteElementString("NumProveedor", oAddenda.NumProveedor)

'Crear un elemento llamado 'UProveedor'.
myXmlTextWriter.WriteStartElement("NumTienda")

'Crear un elemento llamado 'cfdi:NumTienda' con un nodo de texto
' y cerrarlo en una línea.
myXmlTextWriter.WriteElementString("NumTienda", oAddenda.NumTienda)

'Crear un elemento llamado 'UProveedor'.
myXmlTextWriter.WriteStartElement("FolioRef")

'Crear un elemento llamado 'cfdi:Concepto' con un nodo de texto
' y cerrarlo en una línea.
myXmlTextWriter.WriteElementString("FolioRef", oAddenda.FolioRef)

'Cerrar el elemento primario.
myXmlTextWriter.WriteEndElement()


'Cerrar el elemento primario.
myXmlTextWriter.WriteEndElement()

'Cerra el 3

myXmlTextWriter.WriteEndElement()

'Cerrar el 4
myXmlTextWriter.WriteEndElement()

'Cerrar el 5

' myXmlTextWriter.WriteEndElement()

Next

'Forza grabación a Disco
myXmlTextWriter.Flush()

'Cierra el Archivo
myXmlTextWriter.Close()

End Sub
Y para Leer el xml addenda es igual al de el primero de el xml cargado

Entonces si ya tengo creado el nodo en un xml como hago una vez creado antes de crearse a xml se agrege al xml leido.
Podrian auxiliarme?

Eh leido ke mediante dataset pero es cuando eh creado el XML yo, pero en este caso es uno generado de otro lado y yo lo leo y en este quiero agregarle el nodo que creo <Addenda>.

Saludos...
__________________
!El conocimiento se LIMITA cuando dices NO PUEDO!

By NetFcruz

Última edición por NetFcruz; 03/09/2012 a las 16:48 Razón: Anadir texto.