Har en (flera) xml-filer som jag ska ha ett gränssnitt för att ladda upp på en hemsida. Efter uppladdningen vill jag att de som har data i <adress> ska visas och enbart de. Jo, du behöver xsl alternativt nåt server-side språk för att göra detta. Däremot ska du se över din xml lite, som den är skriven nu är den inte well-formed och inte heller helt genomtänkt. Tack, naturligtvis har du rätt ang formen på filen, skrev rätt ur huvudet som inte är så tillförlitligt :PVisa vissa element i en XML-fil
Behöver man en xsl-fil för detta? Ursäkta mina simpla frågor men behöver veta om det är lönt att göra på detta sättet eller lösa det på annat sätt. Olle, Gatan 1 samt Lisa, vägen 3 vill jag att ska visas. Tack på förhand.
Ex xml-fil:
<?xml version="1.0" encoding="UTF-8" ?>
<name>Kalle</name>
</adress>
<name>Olle</name>
<adress>Gatan 1</adress>
<name>Pelle</name>
</adress>
<name>Lisa</name>
<adress>Vägen 3</adress>Sv: Visa vissa element i en XML-fil
1) du måste ha en rot tagg som allt annat finns innanför.
2) <adress /> ska det vara ifall du vill ha en tom tagg
3) du vill gruppera namn och adress
Typ nåt i stil med följande:
<?xml version="1.0" encoding="UTF-8" ?>
<namelist>
<person>
<name>Kalle</name>
<address>Gatan 1</address>
</person>
<person>
<name>Pelle</name>
<address />
</person>
<person>
<name>Lisa</name>
<address>Vägen 3</address>
</person>
</namelist>
Sv:Visa vissa element i en XML-fil
Men jag kan alltså enbart visa de som har värde i <adsress>
Någon som har ett kod exempel på xsl hur den borde se ut?Sv: Visa vissa element i en XML-fil
<?xml version="1.0" encoding="utf-8"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output method="html"/>
<xsl:template match="/">
<html>
<body>
<table>
<tr>
<th>Name</th>
<th>Address</th>
</tr>
<xsl:apply-templates select="namelist/person[address/text()!='']"/>
</table>
</body>
</html>
</xsl:template>
<xsl:template match="person">
<tr>
<td>
<xsl:value-of select="name"/>
</td>
<td>
<xsl:value-of select="address"/>
</td>
</tr>
</xsl:template>
</xsl:stylesheet>
Producerar en tabell där poster som har en tom address inte visas:
/Andreas