• Lunes 23 de Diciembre de 2024, 01:05

Autor Tema:  Convertir Xml A Html  (Leído 2720 veces)

Celiamac

  • Nuevo Miembro
  • *
  • Mensajes: 3
    • Ver Perfil
Convertir Xml A Html
« en: Jueves 21 de Octubre de 2004, 23:00 »
0
Holas:  :hola: desearia q me ayudaran en esto tengo el sgte codigo en el cual llamo a un xml y lo quiero transformar a html mediante un xsl el problema esta que lo transforma pero hay un problema q dentro de uno de los tags del xml hay contenido html y cuando lo visualizo cuando se transforma en vez de q continue con el codigo html esto lo muestra como una cadena de caracteres, les doy una parte de mi codigo
pagina es una pagina html donde voy a copiar mi transfomacion y despues hago un response.redirect a esta pagina para mostrar el contenido

XslTransform xslt = new XslTransform();
xslt.Load(path+"pruebaXSL.xsl");
XsltArgumentList argumentos= new XsltArgumentList();
argumentos.AddParam("artic","", articulo.ToString());
XPathDocument xpathdocument = new XPathDocument(filename);
XmlTextWriter writer = new XmlTextWriter(pagina,System.Text.Encoding.ASCII);
writer.Formatting=Formatting.Indented;
xslt.Transform(xpathdocument,argumentos,writer,null);
writer.Close();

Pero el resultado es q el codigo html q estaba en uno de los tags se muestra como si fuera una cadena cualquiera.. no se si me explico..gracias

timpsoft

  • Miembro activo
  • **
  • Mensajes: 53
    • Ver Perfil
    • http://www.msdnlive.net/
Re: Convertir Xml A Html
« Respuesta #1 en: Martes 26 de Octubre de 2004, 21:49 »
0
lo que sucede es que el xml no debe tener en su contenido ciertos tags tal como "<" o ">", en vez de eso debes poner el codigo que tiene < esos codigos los puedes encontrar en internet.

Güorker

  • Miembro MUY activo
  • ***
  • Mensajes: 383
    • Ver Perfil
Re: Convertir Xml A Html
« Respuesta #2 en: Martes 21 de Junio de 2005, 11:23 »
0
Hola,

vamos a seguir con este hilo, porue yo tengo un problema muy parecido.

Genero un XML a partir de los datos de una BD, y hay campos de la BD que pueden tener saltos de línea, por lo que yo reemplazo los saltos de línea por <BR>. EL problema está en que no consigo de ninguna manera que en el HTML resultante se generen bien los <BR>.

He probado varias cosas y esto es lo que he conseguido:

- XmlNode.InnerText = campo.Replace("\r\n","<BR>")
En este caso se me escribe "<BR>" como parte del texto.

- XmlNode.InnerText = campo.Replace("\r\n","<BR>")
En este caso se me escribe "<BR>" como parte del texto.

- XmlNode.InnerXml = campo.Replace("\r\n","<BR>")
En este caso no aparece "<BR>" en el HTML

- XmlNode.InnerXml = campo.Replace("\r\n","<BR>")
En este caso se me escribe "<BR>" como parte del texto (como el 1º caso).

Alguien sabe como pueo solucionar esto?

Gracias de antemano por vuestra ayuda.
[size=109]Ondo ibili, gutxi gastau eta bueltak amari[/size]
[size=109]Pasalo bien, gasta poco y las vueltas a tu madre[/size]

Kev

  • Miembro HIPER activo
  • ****
  • Mensajes: 654
    • Ver Perfil
Re: Convertir Xml A Html
« Respuesta #3 en: Miércoles 22 de Junio de 2005, 00:04 »
0
:huh: bueno no se si ayude pero a mi me basto con convertir el contenido a HTML, es verdad que al igual que el HTML, XML no sdmite ciertos caracteres

ahora a mi me fue suficiente usar server.htmlencode, no se si les ayude

Nos vemos
 :comp:
La teoria es asesinada tarde o temprano por la experiencia
Albert Einstein
Kev - 3 DCE
-----------------------------------------------------
Articulos:
Convertir texto a imagen en ASP.NET
Trabajando con el Global.asax

Güorker

  • Miembro MUY activo
  • ***
  • Mensajes: 383
    • Ver Perfil
Re: Convertir Xml A Html
« Respuesta #4 en: Miércoles 22 de Junio de 2005, 09:44 »
0
:blink:  :blink:

Hola,

Pues yo sigo igual, no me sirve nada de lo que hago  :(

He probado con lo del Server.HtmlEncode y lo mismo que antes, se me ven los codigos > los acutes y todo eso. No se que hacer.

Kev, podrías postear un ejemplo de como lo hiciste?

Gracias por todo de antemano.

Saludos
[size=109]Ondo ibili, gutxi gastau eta bueltak amari[/size]
[size=109]Pasalo bien, gasta poco y las vueltas a tu madre[/size]

Kev

  • Miembro HIPER activo
  • ****
  • Mensajes: 654
    • Ver Perfil
Re: Convertir Xml A Html
« Respuesta #5 en: Jueves 23 de Junio de 2005, 01:20 »
0
Güorker,  :( el ejemplo no lo tengo a la mano pero mira como en tu xml ya tienes las etiquetas <BR>(que en realidad se encuentran como <BR>) etc... ahora a la hora de mostrarlo en el documento html usa ya no server.htmlencode si no al contrario usa server.htmldecode, creo que con eso ya te sacara el contenido

Suerte
Adios
 :comp:
La teoria es asesinada tarde o temprano por la experiencia
Albert Einstein
Kev - 3 DCE
-----------------------------------------------------
Articulos:
Convertir texto a imagen en ASP.NET
Trabajando con el Global.asax

Güorker

  • Miembro MUY activo
  • ***
  • Mensajes: 383
    • Ver Perfil
Re: Convertir Xml A Html
« Respuesta #6 en: Jueves 23 de Junio de 2005, 08:24 »
0
Hola otra vez,

Est vez tengo buenas noticias para mi. LO HE CONSEGUIDO.

Mi problema era que en el XSLT tenia lo siguiente para sacar el contenido de un campo de la base de datos:
Código: Text
  1.  
  2. &#60;xsl:value-of select=&#34;NombreCampo&#34;/&#62;
  3.  
  4.  
Por otro lado al crear el nodo del XML que iba ha salir por ese sitio en el XSLT con la propiedad InnerText me transformaba automaticamente las etiquetas < y > por sus codigos < y > y por eso se visualizaba como texto los <BR>

Si le asignaba lo del campo de la BD con la propiedad InnerXml, me consideraba los <BR> como nuevos nodos del XML y al tratar ese XML con el XSLT, no hacia ni caso de esos nodos, porque no habia especificado tratamiento alguno para nodos  llamados BR.

La solucion estaba en poner lo siguiente en XSLT:
Código: Text
  1.  
  2. &#60;xsl:copy-of select=&#34;NombreCampo&#34;/&#62;
  3.  
  4.  
Esta sentencia lo que hace es obtener la estructura en arbol tal cual está del nodo "NombreCampo" del XML, de esta manera si yo asigno el campo de la BD con la propiedad InnerXml (creando nodos <BR> en el XML); despues al pasarlo por el XSLT me mete los <BR> dentro del HTML y se ven saltos de linea en el HTML resultante.

No se si me he explicado muy claro, pero el truco esta en el copy-of jaja

Gracias por todo y hasta otra duda  :hola:
[size=109]Ondo ibili, gutxi gastau eta bueltak amari[/size]
[size=109]Pasalo bien, gasta poco y las vueltas a tu madre[/size]