XML naar HTML pagina

Status
Niet open voor verdere reacties.

Mikerosoft

Gebruiker
Lid geworden
11 apr 2010
Berichten
12
Beste mensen,

Ik heb de volgende vraag:

Ik heb een XML bestand (waar ik niks aan mag veranderen)

Nu wil ik bepaalde delen daarvan op mijn html pagina weergeven.

Voorbeeld van een soortgelijk xml bestand:

[XML]
<?xml version="1.0" encoding="ISO-8859-1"?>


<CATALOG>

<CD>

<IDNUMBER>96522</IDNUMBER>

<TITLE>Empire Burlesque</TITLE>

<ARTIST>Bob Dylan</ARTIST>

<COUNTRY>USA</COUNTRY>

<COMPANY>Columbia</COMPANY>

<PRICE>10.90</PRICE>

<YEAR>1985</YEAR>

</CD>

<CD>

<IDNUMBER>96562</IDNUMBER>

<TITLE>Hide your heart</TITLE>

<ARTIST>Bonnie Tyler</ARTIST>

<COUNTRY>UK</COUNTRY>

<COMPANY>CBS Records</COMPANY>

<PRICE>9.90</PRICE>

<YEAR>1988</YEAR>

</CD>

<CD>

<IDNUMBER>96542</IDNUMBER>

<TITLE>Greatest Hits</TITLE>

<ARTIST>Dolly Parton</ARTIST>

<COUNTRY>USA</COUNTRY>

<COMPANY>RCA</COMPANY>

<PRICE>9.90</PRICE>

<YEAR>1982</YEAR>

</CD>

</CATALOG>
[/XML]


Ik gebruik het volgende scriptje voor mijn html pagina:

[JS]<script type="text/javascript">
function loadXMLDoc(dname)
{
if (window.XMLHttpRequest)
{
xhttp=new XMLHttpRequest();
}
else
{
xhttp=new ActiveXObject("Microsoft.XMLHTTP");
}
xhttp.open("GET",dname,false);
xhttp.send();
return xhttp.responseXML;
}

xmlDoc=loadXMLDoc("test.xml");
x=xmlDoc.getElementsByTagName("TITLE")[2].childNodes[0];
document.write(x.nodeValue);
</script>

[/JS]


In dit geval krijg ik als resultaat op mijn pagina: Greatest Hits

Tot hier gaat het allemaal goed, maar als iemand de xml zou aanpassen en in dit geval de volgorde van de cd,s zou veranderen, dan zou ik op mijn pagina een ander resultaat krijgen.

Het IDNUMBER verandert niet, dus is het niet mogelijk om door middel van een scriptje te zoeken naar het IDNUMBER en dan de juiste titel te laten zien?

Ik hoop dat iemand ongeveer begrijpt waat ik heen wil :rolleyes:
 
Hoe begin je
<?xml-stylesheet href="http://domain.ext/path/stylesheetname.xsl" type="text/xsl"?>
Code:
<?xml version="1.0" encoding="ISO-8859-1"?>
<?xml-stylesheet href="http://domain.ext/path/test.xsl" type="text/xsl"?>
<CATALOG>
    <CD>
        <IDNUMBER>96522</IDNUMBER>
         <TITLE>Empire Burlesque</TITLE>
         <ARTIST>Bob Dylan</ARTIST>
         <COUNTRY>USA</COUNTRY>
         <COMPANY>Columbia</COMPANY>
         <PRICE>10.90</PRICE>
         <YEAR>1985</YEAR>
     </CD>
     <CD>
         <IDNUMBER>96562</IDNUMBER>
         <TITLE>Hide your heart</TITLE>
         <ARTIST>Bonnie Tyler</ARTIST>
         <COUNTRY>UK</COUNTRY>
         <COMPANY>CBS Records</COMPANY>
         <PRICE>9.90</PRICE>
         <YEAR>1988</YEAR>
     </CD>
     <CD>
         <IDNUMBER>96542</IDNUMBER>
         <TITLE>Greatest Hits</TITLE>
         <ARTIST>Dolly Parton</ARTIST>
         <COUNTRY>USA</COUNTRY>
         <COMPANY>RCA</COMPANY>
         <PRICE>9.90</PRICE>
         <YEAR>1982</YEAR>
     </CD>
     </CATALOG>

dit is dan een file met extentie .xsl
test.xsl
Code:
<?xml version="1.0"?>
<xsl:stylesheet version="1.1" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:template match="/">
<html>
	  <head>
	    <title>CV - HTML</title>
	    <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
	    <link href="http://europass.cedefop.europa.eu/instruments/css/html.css" type="text/css" rel="stylesheet"/>
	    <link href="css.css" rel="stylesheet" type="text/css" />
	  </head>
	<body>
	<xsl:for-each select="CATALOG/CD">
	    <div class="cd"><h2>TITLE: <xsl:value-of select="TITLE" /></h2>
	    	<br />
	    	<br />
	    </div>  
    </xsl:for-each>
	</body>
</html>
</xsl:template>
</xsl:stylesheet>


ps kan ik je xml hebben?
ps je kan het ook met php
 
Ik moet precies hetzelfde weten.

Maar als ik dan naar het antwoord kijk van kenikavanbis is dat toch niet wat ik zoek. Op die manier krijg ik namelijk een lijst van alle "cd's", maar ik moet er net maar eentje hebben die ik doormiddel van de <IDNUMBER>96522</IDNUMBER> wil kunnen aanroepen.

Belangrijk bij mij is dan ook nog dat dit variabel gedaan kan worden?
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan