Zur Navigation

xml datei auslesen

1 dominik421 (Gast)

Hallo Joerg,

wie kann ich aus einer xml datei nur den einen Wert <property_description_en> auslesen lassen! Ist das moeglich?? und mit welchem Programm wäre das machbar? Das problem ich habe einen feed mit 1000 Immobilien will aber nur den einen Wert auslesen....

Danke Gruss

<?xml version="1.0" encoding="UTF-8"?>
<properties>
<date_listed>1900-02-16 00:00:00</date_listed>
<property_status>Available</property_status>
<property_owners_name></property_owners_name>
<property_owners_telephone></property_owners_telephone>
<property_viewings_contact></property_viewings_contact>

<property_description_en><![CDATA[This beautiful old country house dates back to the 19th .....)]]></property_description_en>

20.02.2013 16:16

2 Jörg Kruse

mit SimpleXML:

$xml = simplexml_load_file('datei.xml');
echo $xml->property_description_en[0];

20.02.2013 16:31

3 dominik421 (Gast)

kannst du mir einen link geben muss ich das programm auf den server laden? Ich habe wirklich wenig ahnung :-((((

20.02.2013 16:52

4 Jörg Kruse

Die SimpleXML-Erweiterung ist normalerweise schon in PHP5 enthalten. Du kannst diesen Code also einfach in eine PHP-Datei einbauen:

<?php
$xml = simplexml_load_file('datei.xml');
echo $xml->property_description_en[0];
?>

Du musst nur den Namen 'datei.xml' anpassen und gegebenenfalls noch den Pfad, falls die XML-Datei in einem anderen Verzeichnis liegt

20.02.2013 20:18 | geändert: 20.02.2013 20:20

5 Horst_M

Diese Frage hatte ich in einem anderen Forum eine Stunde später beantwortet, dort hat sich keiner mehr gemeldet, nun kann ich die hier ergänzen.

Wenn die XML Datei innerhalb des eigenen Webspaces liegt, so lässt sich mit file_exists die Erreichbarkeit prüfen.

<?php
$datei = "datei.xml";

if (file_exists($datei)) {

	$xml = simplexml_load_file($datei);
	echo htmlspecialchars($xml->property_description_en[0])."\n";
}
else {echo "Fehler beim Auslesen der Datei: ".$datei."\n";
}
?>

Liegt die XML hingegen auf einem entfernten Server, lässt sich die Erreichbarkeit gegen false prüfen.

<?php
$datei = "http://www.example.com/datei.xml";

if (@simplexml_load_file($datei) !== false){

    $xml = simplexml_load_file($datei);
    echo htmlspecialchars($xml->property_description_en[0])."\n";
}
else {echo "Fehler beim Laden der XML: ".$datei."\n";
}
?>

In beiden Fällen solle eine Ausgabe immer mit htmlspecialchars oder htmlentities abgesichert werden. Es gibt nur wenige Ausnahmen, wo keine Absicherung möglich ist, zum Beispiel wenn HTML-Tags für eine korrekte Anzeige mit ausgegeben werden müssen.

01.03.2013 19:01

Beitrag schreiben (als Gast)

Die Antwort wird nach der Überprüfung durch einen Moderator freigeschaltet.





[BBCode-Hilfe]