Estimados lectores, ha sido una experiencia agradable el
hacer este blog y tener algunos lectores que comparten el gusto por la
programación; actualmente estoy empezando otro proyecto, muy personal, con tecnología web que espero compartir con toda la comunidad de
programadores y necesito recursos porque es algo muy personal y mi situación
financiera no es muy buena.
Si alguien desearía
apoyarme tengo una tarjeta Oxxo Saldazo
con el número: 4766-8408-7508-1593,
cualquier apoyo lo pueden hacer en cualquier tienda Oxxo o en Banamex, les
agradezco y que sus proyectos lleguen a buen fin.
Hola amigos, he tenido problemas para
que me aparezca el prifijoxsi en schemalocation y solo lo resolve de la
siguiente manera espero que les sirva, ya que por este detalle el archivo no validaba en el validador del SAT
esta es la rutina para colocr los datos del encabezado de mi arcivo xml en este caso un catalogo de cuentas que pide el SAT(México)
Dim Catalogo As
System.Xml.XmlNode
Dim ElementNodo As
System.Xml.XmlElement
Dim xsi As String = "http://www.w3.org/2001/XMLSchema-instance"
URI_SAT =
"www.sat.gob.mx/esquemas/ContabilidadE/1_1/CatalogoCuentas"
Catalogo = m_xmlDOM.CreateElement("Catalogo", URI_SAT)
ElementNodo = CType(Catalogo, XmlElement)
ElementNodo.SetAttribute("xmlns:catalogocuentas",
URI_SAT)
ElementNodo.SetAttribute("xmlns:xsi", "http://www.w3.org/2001/XMLSchema-instance")
‘para poner ese atributo yo lo tenia de la siguiente
manera
ElementNodo.SetAttribute("xsi:schemaLocation",
"http://www.w3schools.com
http://www.sat.gob.mx/esquemas/ContabilidadE/1_1/CatalogoCuentas/CatalogoCuentas_1_1.xsd")
Y NUNCA ME FUNCIONO, APARECIA SIN EL
PREFIJO xsi
Asi que lo hice de la siguiente manera
Aquí empieza la colocación de atributo xsi
Dim schemaLocation As XmlAttribute = m_xmlDOM.CreateAttribute("xsi",
"schemaLocation",
xsi)
schemaLocation.Value = "www.sat.gob.mx/esquemas/ContabilidadE/1_1/CatalogoCuentas
http://www.sat.gob.mx/esquemas/ContabilidadE/1_1/CatalogoCuentas/CatalogoCuentas_1_1.xsd"
ElementNodo.SetAttributeNode(schemaLocation)
m_xmlDOM.AppendChild(ElementNodo)
‘y aqui se sigue colocando los demas atributos con
setatributte y se va a otras rutinas pero lo fundamental para que aparezcal xsi
es lo anterior
ElementNodo.SetAttribute("Version", "1.1")
ElementNodo.SetAttribute("RFC",
vRFC)
ElementNodo.SetAttribute("Anio",
vAño)
ElementNodo.SetAttribute("Mes",
vMes)
m_xmlDOM.AppendChild(Catalogo)
Nodo = Catalogo
InsentarNodo(CType(Catalogo, XmlElement))
Catalogo.Prefix = "catalogocuentas"
Nota; también, si tienen la cadena funcionando bien, copienla tal y como esta, lo que pasa es que existgen caracteres ocultos que a veces el Xsd no funciona por esos caracteres ocultos.
Si ienen unamanera mas optima de resolverla, no duden en compartirla
saludos
No hay comentarios:
Publicar un comentario