In order for this site to work correctly we need to store a small file (called a cookie) on your computer. Most every site in the world does this, however since the 25th of May 2011, by law we have to get your permission first. Please abandon the forum if you disagree.

Para que este foro funcione correctamente es necesario guardar un pequeño fichero (llamado cookie) en su ordenador. La mayoría de los sitios de Internet lo hacen, no obstante desde el 25 de Marzo de 2011 y por ley, necesitamos de su permiso con antelación. Abandone este foro si no está conforme.

TXMLDocument

Foro público de Xailer en español
Responder
zeasoftware
Mensajes: 1831
Registrado: Mar Oct 11, 2005 9:53 am

TXMLDocument

Mensaje por zeasoftware »

Como puedo hacer que un XML que tenga & o í‘, pueda pasarse a TXMLDocument? o
si le paso convirtiendo los caracteres Escape o en UTF, el metodo ToString()
me regrese los caracteres en ASCII?
Ya probe con las opciones que marca la ayuda de esta clase y no logro
conseguir el resultado.
Gracias de antemano.
Ramón Zea
Móvil.: 993-231.62.29
Tel./Fax: 993-353-46-73
zeasoftware@hotmail.com
zeasoft.movil@hotmail.com
jlalin
Mensajes: 926
Registrado: Sab Dic 25, 2010 11:10 pm

TXMLDocument

Mensaje por jlalin »

Ramón,
prueba con AnsiToUTF8().
También puedes hacerlo con una rutina propia:
FUNCTION W3Char( cChar )
LOCAL aChars := { "&", "í‘", "ñ" }
LOCAL aW3Chars := { "&", "Ã", "Ã" }
LOCAL nAt := AScan( aChars, cChar )
RETURN IIF( nAt > 0, aW3Chars[ nAt ], cChar )
FUNCTION W3String( cStr )
LOCAL aChars := { "&", "í‘", "ñ" }
LOCAL aW3Chars := { "&", "Ã", "Ã" }
LOCAL cRet := "", n
FOR n := 1 TO Len( aChars )
cRet := StrTran( cRet, aChars[ n ], aW3Chars[ n ] )
NEXT
RETURN cRet
En http://www.w3.org/MarkUp/html3/latin1.html tienes la lista de caracteres
y sus equivalencias.
Saludos,
José Lalí­n
zeasoftware
Mensajes: 1831
Registrado: Mar Oct 11, 2005 9:53 am

TXMLDocument

Mensaje por zeasoftware »

La cosa es que al leer la info de un attribute[] regresa de igual manera, "PEPE & TOíƒâ€˜O", y lo que busco es que regrese "PEPE & TOí‘O".
Aplico esto, pero aun no entiendo bien, segun es para que no me regrese esos caracteres asi no?
Local oXMLDoc := TXmlDocument():New(, HBXML_STYLE_NOESCAPE)

Gracias.
Ramón Zea
Móvil.: 993-231.62.29
Tel./Fax: 993-353-46-73
zeasoftware@hotmail.com
zeasoft.movil@hotmail.com
"José Lalí­n" escribió en el mensaje de noticias:4ef8b288$[email=1@svctag-j7w3v3j....]1@svctag-j7w3v3j....[/email]
Ramón,
prueba con AnsiToUTF8().
También puedes hacerlo con una rutina propia:
FUNCTION W3Char( cChar )
LOCAL aChars := { "&", "í‘", "ñ" }
LOCAL aW3Chars := { "&", "Ã", "Ã" }
LOCAL nAt := AScan( aChars, cChar )
RETURN IIF( nAt > 0, aW3Chars[ nAt ], cChar )
FUNCTION W3String( cStr )
LOCAL aChars := { "&", "í‘", "ñ" }
LOCAL aW3Chars := { "&", "Ã", "Ã" }
LOCAL cRet := "", n
FOR n := 1 TO Len( aChars )
cRet := StrTran( cRet, aChars[ n ], aW3Chars[ n ] )
NEXT
RETURN cRet
En http://www.w3.org/MarkUp/html3/latin1.html tienes la lista de caracteres
y sus equivalencias.
Saludos,
José Lalí­n
--
jlalin
Mensajes: 926
Registrado: Sab Dic 25, 2010 11:10 pm

TXMLDocument

Mensaje por jlalin »

Ramón,
entonces prueba con:
oXmlDoc:ToString( HBXML_STYLE_NOESCAPE )
o con:
oXmlNode:ToString( HBXML_STYLE_NOESCAPE )
Saludos,
José Lalí­n
zeasoftware
Mensajes: 1831
Registrado: Mar Oct 11, 2005 9:53 am

TXMLDocument

Mensaje por zeasoftware »

Me ayudo en algunos detalles, pero algo que me sucede es:
Si cargo
cXML := LeeArchivoXML() // y este trae í‘
Hago algo asi:
cXML := StrtoUTF8( LeeArchivoXML )
y si mando a grabar cXML este se graba en vez de la í‘ me pone su equivalente íƒâ€˜
encontre por ahi unas funciones UTF8String() pero no me ha funcionado
Ramón Zea
Móvil.: 993-231.62.29
Tel./Fax: 993-353-46-73
zeasoftware@hotmail.com
zeasoft.movil@hotmail.com
"José Lalí­n" escribió en el mensaje de noticias:[email=4ef8c80c@svctag-j7w3v3j....]4ef8c80c@svctag-j7w3v3j....[/email]
Ramón,
entonces prueba con:
oXmlDoc:ToString( HBXML_STYLE_NOESCAPE )
o con:
oXmlNode:ToString( HBXML_STYLE_NOESCAPE )
Saludos,
José Lalí­n
--
Avatar de Usuario
ignacio
Site Admin
Mensajes: 9253
Registrado: Lun Abr 06, 2015 8:00 pm
Ubicación: Madrid, Spain
Contactar:

TXMLDocument

Mensaje por ignacio »

oXmlDoc := TXmlDocument():new( '<?xml version="1.0" encoding="iso-8859-1"?>' )
Saludos
Ignacio Ortiz de Zúñiga
[Equipo de Xailer / Xailer team]
https://www.xailer.com
Responder