XML - Como hago esto...

 
Vista:

Como hago esto...

Publicado por Oscar (1 intervención) el 09/02/2007 00:39:11
veran tengo mi xml

<sucursal foto="imgs/foto1.jpg" nombre="sucursal1">
<direccion>
direccion de la sucursal
</direccion>
</sucursal>

Necesito que se transforme a esto..con xsl

<img src="imgs/foto1.jpg">
<br/>
<b>Nombre de la sucursal</b>
<br/>
direccion de la sucursal..

Cualquier tip gracias de antemano...
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de Alejandro

Transformación de XML a formato específico mediante XSLT

Publicado por Alejandro (258 intervenciones) el 14/07/2023 16:26:43
Puedes utilizar una transformación XSLT para convertir el XML dado en el formato deseado. A continuación se muestra un ejemplo de cómo podría ser el archivo XSLT para transformar el XML proporcionado:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
  <xsl:output method="html" indent="yes"/>
 
  <xsl:template match="/">
    <xsl:apply-templates select="sucursal"/>
  </xsl:template>
 
  <xsl:template match="sucursal">
    <img src="{@foto}"/>
    <br/>
    <b><xsl:value-of select="@nombre"/></b>
    <br/>
    <xsl:value-of select="normalize-space(direccion)"/>
  </xsl:template>
</xsl:stylesheet>

Aquí hay una explicación de cómo funciona el archivo XSLT:

- El elemento `xsl:stylesheet` define el archivo XSLT y establece la versión y el espacio de nombres.
- La declaración `xsl:output` especifica que la salida se generará en formato HTML y se indentará.
- El primer template `xsl:template` coincide con la raíz del XML y aplica las transformaciones a los elementos `sucursal`.
- El segundo template `xsl:template` coincide con el elemento `sucursal` y realiza las transformaciones requeridas:
- Genera una etiqueta `<img>` con el atributo `src` que toma el valor del atributo `foto` del elemento `sucursal`.
- Agrega una etiqueta `<br/>`.
- Genera una etiqueta `<b>` y toma el valor del atributo `nombre` del elemento `sucursal`.
- Agrega otra etiqueta `<br/>`.
- Muestra el valor del elemento `direccion`, eliminando cualquier espacio en blanco adicional con la función `normalize-space()`.

Para aplicar la transformación XSLT al XML, puedes utilizar un lenguaje de programación como Java, C#, Python, entre otros. Cada lenguaje tiene su propia forma de aplicar transformaciones XSLT. Por ejemplo, en Python puedes utilizar la biblioteca `lxml` de la siguiente manera:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
from lxml import etree
 
# Cargar el archivo XML y XSLT
xml_tree = etree.parse("archivo.xml")
xslt_tree = etree.parse("archivo.xslt")
 
# Crear el transformador XSLT
transformer = etree.XSLT(xslt_tree)
 
# Aplicar la transformación
result = transformer(xml_tree)
 
# Imprimir el resultado
print(str(result))

Asegúrate de tener los archivos XML y XSLT en la misma ubicación y ajusta los nombres de archivo en el código según sea necesario. El resultado será la transformación del XML en el formato deseado.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar