Avatar billede mcclaud Nybegynder
12. april 2013 - 19:15 Der er 11 kommentarer og
1 løsning

Simpel tekst til billede

Hej alle eksperter

Jeg arbejder på en hjemmeside, hvor jeg udtrækker værdier fra en xml-fil til en html-side, og det fungerer fint, når det blot drejer sig om simpel tekst. Nu vil jeg imidlertid gerne vise et billede ud fra en billed-sti, som er indskrevet i XML-filen, desværre viser html-siden ikke billedet men blot stien som simpel tekst.

Herunder findes koden, som jeg bruger (hentet på w3schools) og også et eksempel på et udsnit af xml-filen:

----------

<script type="text/javascript">
xmlDoc=loadXMLDoc("../alltime/xml-alltimestatistik.xml");
x=xmlDoc.getElementsByTagName("BADGE25GAMES")[7]
y=x.childNodes[0];
document.write(y.nodeValue);
</script>

----------

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<ALLTIMESTATISTIK xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<SEKTION>
    <SPILLER>Navn 1</SPILLER>
    <KAMPE>4</KAMPE>
    <KAMPPCT>29%</KAMPPCT>
    <MAAL> </MAAL>
    <ASSISTS> </ASSISTS>
    <GULEKORT> </GULEKORT>
    <ROEDEKORT> </ROEDEKORT>
    <STEMMER>4</STEMMER>
    <KAMPSNIT>1,0</KAMPSNIT>
    <SAESONER>12</SAESONER>
    <STATUS>Inaktiv</STATUS>
    <BADGE25GAMES>http://www.halfmen.dk/graphics/awards/games-25.png</BADGE25GAMES>
</SEKTION>
<SEKTION>
    <SPILLER>Navn 2</SPILLER>
    <KAMPE>32</KAMPE>
    <KAMPPCT>97%</KAMPPCT>
    <MAAL>6</MAAL>
    <ASSISTS>15</ASSISTS>
    <GULEKORT> </GULEKORT>
    <ROEDEKORT> </ROEDEKORT>
    <STEMMER>131</STEMMER>
    <KAMPSNIT>4,1</KAMPSNIT>
    <SAESONER>11-13</SAESONER>
    <STATUS>Aktiv</STATUS>
    <BADGE25GAMES>http://www.halfmen.dk/graphics/awards/games-50.png</BADGE25GAMES>
</SEKTION>

----------

Jeg håber, at nogen kan hjælpe, og jeg har på fornemmelsen, at det har noget at gøre med denne kode-linje: document.write(y.nodeValue);

:o) McClaud
Avatar billede olebole Juniormester
12. april 2013 - 19:44 #1
<ole>

Det er vist den forkerte ende, du tager fat i. Du bør nok i stedet bruge XSL(T), men undgå w3schools.com. Det er et rigtig godt sted at lære noget forkert og/eller mangelfuldt, men sitet har vist aldrig gjort nogen ret meget klogere (selvom mange tror det)  =)

/mvh
</bole>
Avatar billede mcclaud Nybegynder
13. april 2013 - 00:33 #2
Hej olebole

Ja, jeg troede, at w3schools var et godt sted at lære... men da kan man bare se.  :o)

XSL(T) det klinger ikke ligefrem bekendt. Kan du evt. hjælpe med et forslag til en kode, som kan fungere?

:o) McClaud
Avatar billede olebole Juniormester
13. april 2013 - 15:46 #3
Det er normalt det, man bruger, når man skal vise XML-data i HTML - og er meget udbredt. Du kan prøve at kikke på dette simple eksempel. Læs videre i menuen til venstre
Avatar billede olebole Juniormester
13. april 2013 - 15:48 #4
Endnu et eksempel. Bemærk 'brødkrummen' foroven, og læs selv videre  =)
Avatar billede mcclaud Nybegynder
13. april 2013 - 16:24 #5
Er det rigtig forstået, at XSLT er ligesom CSS altså et stylesheet? Og kan man ved brug af det ændre simple tekst til et billede?

:o) McClaud
Avatar billede olebole Juniormester
13. april 2013 - 16:29 #6
Ja, du bruger stylesheet'et (XSLT-dokumentet) til at formatere hele XML-filen som HTML  =)
Avatar billede mcclaud Nybegynder
13. april 2013 - 17:28 #7
Hej olebole

Nu har jeg siddet og arbejdet lidt med det og kan godt se, hvordan det virker. Man bruger XSLT-filen som et slags stylesheet og viser XML-filen flot opsat ved at indsætte stylesheet-henvisningen i XML-filen...

Jeg kan fint præsentere data flot opsat fra XML-filen, men billedstien vises stadig blot som simpel tekst i stedet for som et billede. Et andet problem, som jeg umiddelbart ikke kan komme omkring, er det faktum, at jeg bruger Excel som database, og herfra eksporterer jeg XML-filerne. Når jeg opdaterer mit Excel-ark, overskriver jeg blot de eksisterende XML-filer, og den indsatte stylesheet-henvisning slettes i XML-filen ved hver opdatering, hvorfor jeg derfor manuelt skal ind og indsætte den hver gang på ny - og det går ikke. Jeg kan ikke få Excel til at overfører stylesheet-henvisningen af sig selv.

Jeg bliver derfor nødt til med denne hjemmeside at forsøge at præsentere noden fra XML-filen som et billede i stedet for som simpel tekst, og jeg tænker fortsat, at det må kunne lade sig gøre ved nogle få kunstgreb i denne kodelinje:

document.write(y.nodeValue);

Kan det lade sig gøre at ændre blot en lille smule her og på den måde præsentere et fint billede?

:o) McClaud
Avatar billede olebole Juniormester
13. april 2013 - 19:25 #8
Så må det vel være noget i stil med:

document.write("<img src='"+y.nodeValue+"' alt=''>");
Avatar billede mcclaud Nybegynder
14. april 2013 - 02:07 #9
Hej olebole

Mange tak for hjælpen. Den sidder lige i skabet... Kan jeg lokke med nogle uhyre velfortjente points?

:o) McClaud
Avatar billede olebole Juniormester
14. april 2013 - 02:12 #10
Ellers tak, jeg samler ikke point. Læg selv et svar og accepter det, så tråden lukkes  =)
Avatar billede mcclaud Nybegynder
14. april 2013 - 11:54 #11
Du er uforbedrelig, Ole, du fortjener i sandhed disse points men vælger at give afkast på dem...  ;o)

Endnu engang mange tak for hjælpen.

McClaud  :o)
Avatar billede olebole Juniormester
14. april 2013 - 14:03 #12
You're welcome  *o)
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester