Hallo Leute,
habe das Problem, dass ich eine XML mit Sonderzeichen (z.B. "<") speichern will, aber diese Sonderzeichen stets konvertiert werden (z.B. "<"). Dies betrifft die Variable $MetaData.
Mein Script:
Wie kann ich das verhindern ?
Ein echo der $XML sieht so aus, wie sie soll:
Offenbar geschieht dies erst beim speichern. Hier der Anfang der vom Browser angezeigten Datei (zu achten auf <metadata>):
Wichtig ist, dass <MetaData> so bleibt wie es ist. Hoffe Ihr könnt mir einen Tipp geben.
Gruß
André
habe das Problem, dass ich eine XML mit Sonderzeichen (z.B. "<") speichern will, aber diese Sonderzeichen stets konvertiert werden (z.B. "<"). Dies betrifft die Variable $MetaData.
Mein Script:
PHP-Code:
<?
/*//////////////////////////////////////////////////////////////////////////////
Array der vordefinierten Radiosender aus UPNP_Radio_Presets.ips.php lesen und
in die Datei IP-Symcon/webfront/user/Multimedia/Browse/Playlist/Radio.xml
schreiben
//////////////////////////////////////////////////////////////////////////////*/
include ("UPNP_Constants.ips.php");
include ("UPNP_Radio_Presets.ips.php");
$Track = "";
for($i=0,$size=count($Radio);$i<$size;$i++)
{
$Title = ($Radio["$i"]['title']);
$AlbumArtURI = ($Radio["$i"]['albumArtURI']);
$Resource = ($Radio["$i"]['resource']);
$MetaData = '<DIDL-Lite xmlns="urn:schemas-upnp-org:metadata-1-0/DIDL-Lite/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:upnp="urn:schemas-upnp-org:metadata-1-0/upnp/" xmlns:dlna="urn:schemas-dlna-org:metadata-1-0/"><item id="Radio'.$i.'"><dc:title>'.$Title.'</dc:title><upnp:albumArtURI>'.$AlbumArtURI.'</upnp:albumArtURI><res protocolInfo="http-get:*:audio/mpeg:DLNA.ORG_PN=MP3;DLNA.ORG_OP=01;DLNA.ORG_CI=0;DLNA.ORG_FLAGS=03700000000000000000000000000000">'.$Resource.'</res><upnp:class>object.item.audioItem.audioBroadcast</upnp:class></item></DIDL-Lite>';
//$MetaData = '';
$Track .= '
<Track'.$i.'>
<typ>item</typ>
<metadata>'.$MetaData.'</metadata>
<id>Radio'.$i.'</id>
<refid>leer</refid>
<parentid>leer</parentid>
<restricted>leer</restricted>
<artist>leer</artist>
<album>leer</album>
<title>'.$Title.'</title>
<albumArtURI>'.$AlbumArtURI.'</albumArtURI>
<genre>leer</genre>
<date>leer</date>
<originalTrackNumber>leer</originalTrackNumber>
<class>object.item.audioItem.audioBroadcast</class>
<resource>'.$Resource.'</resource>
<duration>leer</duration>
<size>leer</size>
<bitrate>leer</bitrate>
</Track'.$i.'>';
}
$xml = '<?xml version="1.0" encoding="UTF-8"?>
<Playlist>'.$Track.'
</Playlist>';
echo($xml);
//Radio-Presets in /webfront/user/Multimedia/Browse/Playlist/Radio.xml schreiben
$handle = fopen($Kernel."webfront/user/Multimedia/Browse/Playlist/Radio.xml", "w+");
fwrite($handle, $xml);
fclose($handle);
?>
Ein echo der $XML sieht so aus, wie sie soll:
Code:
<?xml version="1.0" encoding="UTF-8"?> <Playlist> <Track0> <typ>item</typ> <metadata><DIDL-Lite xmlns="urn:schemas-upnp-org:metadata-1-0/DIDL-Lite/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:upnp="urn:schemas-upnp-org:metadata-1-0/upnp/" xmlns:dlna="urn:schemas-dlna-org:metadata-1-0/"><item id="Radio0"><dc:title>1LIVE diggi</dc:title><upnp:albumArtURI>http://d1i6vahw24eb07.cloudfront.net/s45087q.png</upnp:albumArtURI><res protocolInfo="http-get:*:audio/mpeg:DLNA.ORG_PN=MP3;DLNA.ORG_OP=01;DLNA.ORG_CI=0;DLNA.ORG_FLAGS=03700000000000000000000000000000">http://www.wdr.de/wdrlive/media/einslivedigi.m3u</res><upnp:class>object.item.audioItem.audioBroadcast</upnp:class></item></DIDL-Lite></metadata> <id>Radio0</id> <refid>leer</refid> <parentid>leer</parentid> <restricted>leer</restricted> <artist>leer</artist> <album>leer</album> <title>1LIVE diggi</title> <albumArtURI>http://d1i6vahw24eb07.cloudfront.net/s45087q.png</albumArtURI> <genre>leer</genre> <date>leer</date> <originalTrackNumber>leer</originalTrackNumber> <class>object.item.audioItem.audioBroadcast</class> <resource>http://www.wdr.de/wdrlive/media/einslivedigi.m3u</resource> <duration>leer</duration> <size>leer</size> <bitrate>leer</bitrate> </Track0>
Code:
<?xml version="1.0" encoding="UTF-8"?> <Playlist> <Track0> <typ>item</typ> <metadata><DIDL-Lite xmlns="urn:schemas-upnp-org:metadata-1-0/DIDL-Lite/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:upnp="urn:schemas-upnp-org:metadata-1-0/upnp/" xmlns:dlna="urn:schemas-dlna-org:metadata-1-0/"><item id="Radio0"><dc:title>1LIVE diggi</dc:title><upnp:albumArtURI>http://d1i6vahw24eb07.cloudfront.net/s45087q.png</upnp:albumArtURI><res protocolInfo="http-get:*:audio/mpeg:DLNA.ORG_PN=MP3;DLNA.ORG_OP=01;DLNA.ORG_CI=0;DLNA.ORG_FLAGS=03700000000000000000000000000000">http://www.wdr.de/wdrlive/media/einslivedigi.m3u</res><upnp:class>object.item.audioItem.audioBroadcast</upnp:class></item></DIDL-Lite></metadata> <id>Radio0</id> <refid>leer</refid> <parentid>leer</parentid> <restricted>leer</restricted> <artist>leer</artist> <album>leer</album> <title>1LIVE diggi</title> <albumArtURI>http://d1i6vahw24eb07.cloudfront.net/s45087q.png</albumArtURI> <genre>leer</genre> <date>leer</date> <originalTrackNumber>leer</originalTrackNumber> <class>object.item.audioItem.audioBroadcast</class> <resource>http://www.wdr.de/wdrlive/media/einslivedigi.m3u</resource> <duration>leer</duration> <size>leer</size> <bitrate>leer</bitrate> </Track0>
Gruß
André
Kommentar