Hallo Tutorials Forum.
Ich lade mittels SimpleXML und einer eigenen Klasse ein XML File mit dem ich die Daten in den Tags notiz auslesen möchte.
Ich möchte, dass die Klasse die notiz Elemente nach und nach heraus gibt, und ich über die Klasseninstanz und einer foreach-Schleife die einzelnen notiz Elemente
abrufe. Die Notizen sollen im Verlauf weiterbearbeitet werden, darum würde ein Verlagern der foreach in die Klasse Notizen und eine echo Ausgabe innerhalb der Klasse nichts nützen.
Ich danke bereits hier schon einmal für Hilfen und Anregungen.
Ich lade mittels SimpleXML und einer eigenen Klasse ein XML File mit dem ich die Daten in den Tags notiz auslesen möchte.
Ich möchte, dass die Klasse die notiz Elemente nach und nach heraus gibt, und ich über die Klasseninstanz und einer foreach-Schleife die einzelnen notiz Elemente
abrufe. Die Notizen sollen im Verlauf weiterbearbeitet werden, darum würde ein Verlagern der foreach in die Klasse Notizen und eine echo Ausgabe innerhalb der Klasse nichts nützen.
PHP:
foreach($alle_notizen_in_xml_file){
// hier nacheinander jedes Datum (Name, Datum, Freitext) ausgeben
// um es weiterbearbeiten zu koennen
}
XML:
/**** test.xml ****/
<?xml version="1.0" standalone="no"?>
<element_1>
<element_2 index="5">
<notiz>
<name>Axel</name>
<datum>10-Jan</datum>
<freitext>ABC</freitext>
</notiz>
<notiz>
<name>Berta</name>
<datum>12-Feb</datum>
<freitext>1234567890</freitext >
</notiz>
<notiz>
<name>Caesar</name>
<datum>8-Mar</datum>
<freitext>Roemer</freitext >
</notiz>
<notiz>
<name>Doris</name>
<datum>9-Apr</datum>
<freitext>Schubert's Winterreise </freitext >
</notiz>
</element_2>
</element_1>
PHP:
/**** class.class.php ****/
<?php
class Notizen{
function Notizen ($file){
$gesamt_xml = simplexml_load_file($file);
$this->notes = $gesamt_xml->element_2[0];
}
function notizen_system(){
return $this->notes->attributes();
}
function notizen_path(){
return $this->notes->xpath("./notiz");
}
}
?>
PHP:
/**** test.php ****/
<textarea cols="100" rows="30"><?php
require_once("class.class.php");
$test = new Notizen("test.xml");
if($test->notizen_system()=="5"){
$forarray=$test->notizen_path();
foreach($forarray as $value){
echo $value->name."\n";
echo $value->datum."\n";
echo $value->freitext."\n\n";
}
};
?></textarea>
Ich danke bereits hier schon einmal für Hilfen und Anregungen.
Zuletzt bearbeitet von einem Moderator: