Como actualizar algunos atributos de xml en vbnet
Publicado: Lun Feb 27, 2012 3:18 pm
buenas tardes, extoy desarrollando esto de la factura con vb net 2008, y ya estoy en lo ultimo de pasar los valores del sello digital, num. de serie y certificado (que esos los obtenemos ya sea del openssl, o de alguna dlls, etc.) en mi caso estoy usando los componentes chilkat que ya estan previamente instalados.
Bueno la idea es que estoy usando la funcion declarada de forma general XmlDocument posteriormente voy pasando los parametros por medio de procedimientos y al llegar al sellado pues ya no logro actualizar los datos de nocertificado, sello, certificado por que todo esto se va creando temporalmente antes de aplicar el metodo Save.
Que tambien no se como obtener el xml generado temporalmente tambien antes de aplicar el metodo save, parte del codigo es el siguiente y me falta agregar los datos del sello, numserie, etc. para eso se compila bien, al ejecutar me da el error: System.NullReferenceException: Object reference not set to an instance of an object.
Me puede hechar la mano no se como aplicar esto de la funcion GetElementsByTagName
la funcion GetElementsByTagName actualizara los datos pero me arroja error, que puedo hacer o bien despues de aplicar el metodo save es posible crear otros atributos en el elemento comprobante...?
se los agradesco muchas gracias si me dieran alguna idea.
Bueno la idea es que estoy usando la funcion declarada de forma general XmlDocument posteriormente voy pasando los parametros por medio de procedimientos y al llegar al sellado pues ya no logro actualizar los datos de nocertificado, sello, certificado por que todo esto se va creando temporalmente antes de aplicar el metodo Save.
Que tambien no se como obtener el xml generado temporalmente tambien antes de aplicar el metodo save, parte del codigo es el siguiente y me falta agregar los datos del sello, numserie, etc. para eso se compila bien, al ejecutar me da el error: System.NullReferenceException: Object reference not set to an instance of an object.
Me puede hechar la mano no se como aplicar esto de la funcion GetElementsByTagName
Código: Seleccionar todo
Private Doc As New XmlDocument()
private Sub crea_ejemplo()
Dim dec As XmlDeclaration = Doc.CreateXmlDeclaration("1.0","UTF-8", "yes")
Doc.AppendChild(dec)
Dim DocRoot As XmlElement = Doc.CreateElement("Comprobante")
atributoscomprobante(DocRoot)
aplicaemisor(DocRoot)
... otros elementos
sellar(DocRoot)
Doc.Save("C:\OutDocument.xml") 'por ultimo guardamos
end sub
Private Sub atributoscomprobante(acepta As XmlElement)
Dim atrib As XmlNode
entre otros atributos ....
atrib = Doc.CreateAttribute("total")
atrib.Value = "350.00"
acepta.Attributes.Append(atrib)
atrib = Doc.CreateAttribute("noCertificado")
atrib.Value = ""
acepta.Attributes.Append(atrib)
atrib = Doc.CreateAttribute("Certificado")
atrib.Value = ""
acepta.Attributes.Append(atrib)
atrib = Doc.CreateAttribute("sello")
atrib.Value = ""
acepta.Attributes.Append(atrib)
Doc.AppendChild(acepta)
End Sub
private sub sellar()
dim noCertificado as string = "30001000000100000800" variables x definidas
Doc.GetElementsByTagName("Comprobante", "http://www.lapagina/2")(0).Attributes("noCertificado").Value = noCertificado
Doc.GetElementsByTagName("Comprobante", "http://www.lapagina/2")(0).Attributes("Certificado").Value = Certificado
End Sub
se los agradesco muchas gracias si me dieran alguna idea.