Página 1 de 1

TXMLDocument

Publicado: Lun Dic 26, 2011 5:04 pm
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

TXMLDocument

Publicado: Lun Dic 26, 2011 6:45 pm
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

TXMLDocument

Publicado: Lun Dic 26, 2011 7:20 pm
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
--

TXMLDocument

Publicado: Lun Dic 26, 2011 8:17 pm
por jlalin
Ramón,
entonces prueba con:
oXmlDoc:ToString( HBXML_STYLE_NOESCAPE )
o con:
oXmlNode:ToString( HBXML_STYLE_NOESCAPE )
Saludos,
José Lalí­n

TXMLDocument

Publicado: Mar Dic 27, 2011 1:50 am
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
--

TXMLDocument

Publicado: Lun Ene 02, 2012 10:32 am
por ignacio
oXmlDoc := TXmlDocument():new( '<?xml version="1.0" encoding="iso-8859-1"?>' )
Saludos