Wie greift man auf einen bestimmten Wert in einem XML File zu ?

hannehomuth

Grünschnabel
Hallo Leute,

ich habe ein Problem mit einem XML File. Aus diesem File interessiert mich nur ein Wert und den will ich haben, kriege es aber nicht hin. In Netz kursieren ja jede Menge Tutorials aber kein XML File hat eine solche Struktur wie meine es hat. Ich will das mit PHP machen und hab mal geschaut also DOMXML ist enabled !!

Code:
<ROOT xmlns:sql="urn:schemas-microsoft-com:xml-sql">
  <row Kreisname="Prignitz" wb_id="0" /> 
  <row Kreisname="Ostprignitz-Ruppin" wb_id="0" /> 
  <row Kreisname="Oberhavel" wb_id="0" /> 
  <row Kreisname="Uckermark" wb_id="0" /> 
  <row Kreisname="Havelland" wb_id="0" /> 
  <row Kreisname="Barnim" wb_id="0" /> 
  <row Kreisname="Potsdam-Mittelmark u. Städte Potsdam/Brandenburg" wb_id="0" /> 
  <row Kreisname="Märkisch-Oderland" wb_id="0" /> 
  <row Kreisname="Teltow-Fläming" wb_id="1" /> 
  <row Kreisname="Dahme-Spreewald" wb_id="1" /> 
  <row Kreisname="Oder-Spree und Frankfurt/Oder" wb_id="0" /> 
  <row Kreisname="Elbe-Elster" wb_id="1" /> 
  <row Kreisname="Oberspreewald-Lausitz" wb_id="1" /> 
  <row Kreisname="Spree-Neiße und Stadt Cottbus" wb_id="1" /> 
  </ROOT>

Ich bräuchte die wb_id von Oberhavel.


Hat eine/r ne Idee
 
Hi,

wenn du wirklich nur diesen einen Wert brauchst, dann würde ich preg_match() benutzen, anstatt dort über die XML Funktionen z gehen etwa so:
PHP:
if(preg_match("'<row\s*Kreisname=\"Oberhavel\"\s*wb_id=\"([0-9]+)\"\s*/>'", $xmldaten, $m))
{
  print_r($m);
}
(ungetestet)

Dann müsstest du nur vorher die XML Datei per file_get_contents() oser so einlesen und in $xmldaten speichern.
 
Zurück