Heedless
%Europe/Berlin %414 %2007, 09:57
Ik heb ooit een keer mbv flash een beeld gemaakt aan de hand van mijn iTunes library.
Ik had mijn library ge-exporteert als XML. Dat XML bestand is heel onhandig opgemaakt, de nodes hebben allemaal dezelfde naam enzo.
Ik vond toen deze code om het xml bestand te converteren;
Eerst een xls bestand:
<?xml version="1.0" encoding="ISO-8859-1" ?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output method="xml" indent="yes"/>
<xsl:template match="/">
<songlist>
<xsl:apply-templates select="plist/dict/dict/dict"/>
</songlist>
</xsl:template>
<xsl:template match="dict">
<song>
<xsl:apply-templates select="key"/>
</song>
</xsl:template>
<xsl:template match="key">
<xsl:element name="{translate(text(), ' ', '_')}">
<xsl:value-of select="following-sibling::node()[1]"/>
</xsl:element>
</xsl:template>
</xsl:stylesheet>
en die pas je toe via een php bestand:
<?php
$x = xslt_create();
$result = xslt_process($x,
'file://'.getcwd()."\xml\Library.xml",
'file://'.getcwd().'\xsl\iTunes.xsl');
if ($result) {
$file = 'Library.xml';
$file = fopen($file, 'w');
fwrite($file, $result);
fclose($file);
} else {
print "XSLT error: ".xslt_error($x).", error code: ".xslt_errno($x);
}
xslt_free($x);
echo "klaar";
?>
Dit werkte een tijd geleden, maar nu krijg ik opeens deze error:
Fatal error: Call to undefined function xslt_create() in /home/deluchti/public_html/iMap/omzetten.php on line 2
Blijkbaar werkt die code niet meer in nieuwere php versies?
Weet iemand hoe ik alsnog mijn XML op kan maken?
Ik had mijn library ge-exporteert als XML. Dat XML bestand is heel onhandig opgemaakt, de nodes hebben allemaal dezelfde naam enzo.
Ik vond toen deze code om het xml bestand te converteren;
Eerst een xls bestand:
<?xml version="1.0" encoding="ISO-8859-1" ?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output method="xml" indent="yes"/>
<xsl:template match="/">
<songlist>
<xsl:apply-templates select="plist/dict/dict/dict"/>
</songlist>
</xsl:template>
<xsl:template match="dict">
<song>
<xsl:apply-templates select="key"/>
</song>
</xsl:template>
<xsl:template match="key">
<xsl:element name="{translate(text(), ' ', '_')}">
<xsl:value-of select="following-sibling::node()[1]"/>
</xsl:element>
</xsl:template>
</xsl:stylesheet>
en die pas je toe via een php bestand:
<?php
$x = xslt_create();
$result = xslt_process($x,
'file://'.getcwd()."\xml\Library.xml",
'file://'.getcwd().'\xsl\iTunes.xsl');
if ($result) {
$file = 'Library.xml';
$file = fopen($file, 'w');
fwrite($file, $result);
fclose($file);
} else {
print "XSLT error: ".xslt_error($x).", error code: ".xslt_errno($x);
}
xslt_free($x);
echo "klaar";
?>
Dit werkte een tijd geleden, maar nu krijg ik opeens deze error:
Fatal error: Call to undefined function xslt_create() in /home/deluchti/public_html/iMap/omzetten.php on line 2
Blijkbaar werkt die code niet meer in nieuwere php versies?
Weet iemand hoe ik alsnog mijn XML op kan maken?