Ich weis nicht ob das ein Code Fehler ist oder eventuell an IPS 4 liegt.
Ich möchte ein XML auslesen mit dem Code
$xmlFile = IPS_GetKernelDir().'webfront/user/neo/devices.xml';
if (file_exists($xmlFile))
{
echo "Datei wurde gefunden";
} else {
exit("Datei $xmlFile kann nicht geöffnet werden.");
}
$xml = new SimpleXMLElement($xmlFile);
foreach($xml->xpath("//device[@type='LEDS']") as $device)
{
echo ($device['address'])."<br>";
}
Wenn ich statt aus der File zu lesen das XML innerhalb des Scripts als Variable habe und diese an SimpleXMLElement übergebe, läuft das Script sauber ab und gibt mir den Inhalt der Nodes aus die ich haben will.
Sobald ich aber das XML aus der Datei hole bekomme ich folgende Fehlermeldung:
Datei wurde gefunden
Warning: SimpleXMLElement::__construct(): Entity: line 1: parser error : Start tag expected, '<' not found in /usr/share/symcon/scripts/19678.ips.php on line 61
Warning: SimpleXMLElement::__construct(): /usr/share/symcon/webfront/user/neo/devices.xml in /usr/share/symcon/scripts/19678.ips.php on line 61
Warning: SimpleXMLElement::__construct(): ^ in /usr/share/symcon/scripts/19678.ips.php on line 61
Fatal error: Uncaught exception 'Exception' with message 'String could not be parsed as XML' in /usr/share/symcon/scripts/19678.ips.php:61
Stack trace:
#0 /usr/share/symcon/scripts/19678.ips.php(61): SimpleXMLElement->__construct('/usr/share/symc...')
#1 {main}
thrown in /usr/share/symcon/scripts/19678.ips.php on line 61
Abort Processing during Fatal-Error: Uncaught exception 'Exception' with message 'String could not be parsed as XML' in /usr/share/symcon/scripts/19678.ips.php:61
Stack trace:
#0 /usr/share/symcon/scripts/19678.ips.php(61): SimpleXMLElement->__construct('/usr/share/symc...')
#1 {main}
thrown
Error in Script /usr/share/symcon/scripts/19678.ips.php on Line 61
Zeile 61 ist
$xml = new SimpleXMLElement($xmlFile);
Ist das ein Bug oder ein Fehler im Skript?