diff --git a/Zweites Jahr/README.md b/Zweites Jahr/README.md index e65e927..e86ab3d 100644 --- a/Zweites Jahr/README.md +++ b/Zweites Jahr/README.md @@ -7,6 +7,10 @@ Wichtige Informationen - Wir eventuell nie aktuell sein. - Stundenplan - [Link](https://wvss-mannheim.webuntis.com/WebUntis?school=wvss-mannheim#/basic/timetablePublic/class?date=2025-12-08&entityId=2583) +## 11-12-25 - PHP (XML) +- XML aus PHP erstellt +- CSV Datei in XML Datei konvertiert + ## 10-12-25 - PHP - Unterrichtsprojekt begonnen: diff --git a/Zweites Jahr/ap1.xml b/Zweites Jahr/XML/ap1.xml similarity index 100% rename from Zweites Jahr/ap1.xml rename to Zweites Jahr/XML/ap1.xml diff --git a/Zweites Jahr/XML/createXmlDocument.php b/Zweites Jahr/XML/createXmlDocument.php new file mode 100644 index 0000000..ccaa71f --- /dev/null +++ b/Zweites Jahr/XML/createXmlDocument.php @@ -0,0 +1,65 @@ + + + + maier1 + mXabc123m! + Hubertus + Maier + maier1@bfpohg.de + + + ... + +*/ + +// create xml docs +$xmlDoc = new DOMDocument("1.0", "utf-8"); +$xmlDoc->formatOutput=true; + +// Root element +$xmlRoot = $xmlDoc->createElement("personen"); +$xmlDoc->appendChild($xmlRoot); + +// first node - benutzer +$xmlPerson = $xmlDoc->createElement("benutzer"); + +// child node of benutzer: benutzername +$xmlBenutzername = $xmlDoc->createElement("benutzername", "Daniel"); +$xmlPerson->appendChild($xmlBenutzername); + +// child node of benutzer: passwort +$xmlPasswort = $xmlDoc->createElement("passwort", "danielISTcool"); +$xmlPerson->appendChild($xmlPasswort); + +// append node to root +$xmlRoot->appendChild($xmlPerson); + +// --- SECOND USER --- +// second node - benutzer +$xmlPerson = $xmlDoc->createElement("benutzer"); + +// child node of benutzer: benutzername +$xmlBenutzername = $xmlDoc->createElement("benutzername", "Peter"); +$xmlPerson->appendChild($xmlBenutzername); + +// child node of benutzer: passwort +$xmlPasswort = $xmlDoc->createElement("passwort", "12345"); +$xmlPerson->appendChild($xmlPasswort); + +// append node to root +$xmlRoot->appendChild($xmlPerson); + +// create file +$bytes = $xmlDoc->save(__DIR__ . "/personen.xml"); +var_dump($bytes); + +echo $bytes . "
"; +echo __DIR__; +?> \ No newline at end of file diff --git a/Zweites Jahr/XML/personen.xml b/Zweites Jahr/XML/personen.xml new file mode 100644 index 0000000..5300cda --- /dev/null +++ b/Zweites Jahr/XML/personen.xml @@ -0,0 +1,11 @@ + + + + Daniel + danielISTcool + + + Peter + 12345 + + diff --git a/Zweites Jahr/XML/readXmlDocument.php b/Zweites Jahr/XML/readXmlDocument.php new file mode 100644 index 0000000..a2d083c --- /dev/null +++ b/Zweites Jahr/XML/readXmlDocument.php @@ -0,0 +1,36 @@ +XML Ausgabe"; + +// load xml file +$xmlDoc = new DOMDocument(); +$xmlDoc->load("personen.xml"); + +echo "

Einfach

"; + +// simple output +echo $xmlDoc->saveXML(); + +echo "
"; + +echo "

Gesamte Knoten

"; + +// output of individual nodes +$benutzer=$xmlDoc->getElementsByTagName("benutzer"); + +foreach($benutzer as $benutzerDaten){ + echo "Person: ".$benutzerDaten->textContent."
"; +} + +echo "
"; +echo "

Element eines Knotens

"; +// output of an node's element +foreach($benutzer as $benutzerDaten){ + foreach($benutzerDaten->childNodes as $element){ + if($element->nodeName == "benutzername"){ + echo "Person: ".$element->textContent."
"; + } + } +} \ No newline at end of file diff --git a/Zweites Jahr/aufgaben/csvToXml/convertCSVtoXML.php b/Zweites Jahr/aufgaben/csvToXml/convertCSVtoXML.php new file mode 100644 index 0000000..6f78c55 --- /dev/null +++ b/Zweites Jahr/aufgaben/csvToXml/convertCSVtoXML.php @@ -0,0 +1,70 @@ +

CSV -> XML

+ + + + + +formatOutput=true; + +$xmlRoot = $xmlDoc->createElement("data"); +$xmlDoc->appendChild($xmlRoot); + + +// FILL XML FILE WITH CSV DATA +while(($row_array = fgetcsv($fp, 0, ";")) !== false){ + // skip emty value + if ($row_array === null || $row_array === []) { + continue; + } + + // create sub elemente + $xmlSchueler = $xmlDoc->createElement("schuelerdata"); + // for the count of elements in a row do this + for ($i = 0; $i < count($row_array); $i++){ + // make sure there is a header to row + if (!isset($header_array[$i])){ + continue; + } + + // get current collumn + $column = $header_array[$i]; + echo "$row_array[$i]
"; + + // create a new element with name of column and row data + $xmlSchuelerDaten = $xmlDoc->createElement($column, $row_array[$i]); + $xmlSchueler->appendChild($xmlSchuelerDaten); + } + // save element + $xmlRoot-> appendChild($xmlSchueler); +} + +// Save whole XML file +$fileXml = "e2fi2.xml"; +$xmlDoc->save(__DIR__ . "/$fileXml"); \ No newline at end of file diff --git a/Zweites Jahr/aufgaben/csvToXml/e2fi2.csv b/Zweites Jahr/aufgaben/csvToXml/e2fi2.csv new file mode 100644 index 0000000..41c212e --- /dev/null +++ b/Zweites Jahr/aufgaben/csvToXml/e2fi2.csv @@ -0,0 +1,19 @@ +Nr;Vorname;Nachname +1;Noah;Bassmann +2;Dawid;Brueller +3;Maksim;Dessauer +4;Jonas;Gassenhauer +5;Klara;Goettinger +6;Marc;Hausmueller +7;Timo;Heiterberg +8;Johannes;Kachelmann +9;Konstantin;Matern +10;Anna;Manna +11;Kamil;Nether +12;Tobias;Scholz +13;Eric;Schmidt +14;Ferdinand;Tetris +15;Damien;Tapfer +16;Uemit;Toser +17;Sebastian;Wenger +18;Fabio;Wellenwein diff --git a/Zweites Jahr/aufgaben/csvToXml/e2fi2.xml b/Zweites Jahr/aufgaben/csvToXml/e2fi2.xml new file mode 100644 index 0000000..a5560d8 --- /dev/null +++ b/Zweites Jahr/aufgaben/csvToXml/e2fi2.xml @@ -0,0 +1,93 @@ + + + + 1 + Noah + Bassmann + + + 2 + Dawid + Brueller + + + 3 + Maksim + Dessauer + + + 4 + Jonas + Gassenhauer + + + 5 + Klara + Goettinger + + + 6 + Marc + Hausmueller + + + 7 + Timo + Heiterberg + + + 8 + Johannes + Kachelmann + + + 9 + Konstantin + Matern + + + 10 + Anna + Manna + + + 11 + Kamil + Nether + + + 12 + Tobias + Scholz + + + 13 + Eric + Schmidt + + + 14 + Ferdinand + Tetris + + + 15 + Damien + Tapfer + + + 16 + Uemit + Toser + + + 17 + Sebastian + Wenger + + + 18 + Fabio + Wellenwein + + diff --git a/Zweites Jahr/file_read.php b/Zweites Jahr/csv/file_read.php similarity index 100% rename from Zweites Jahr/file_read.php rename to Zweites Jahr/csv/file_read.php diff --git a/Zweites Jahr/person.csv b/Zweites Jahr/csv/person.csv similarity index 100% rename from Zweites Jahr/person.csv rename to Zweites Jahr/csv/person.csv diff --git a/Zweites Jahr/xml.php b/Zweites Jahr/xml.php deleted file mode 100644 index ed791a8..0000000 --- a/Zweites Jahr/xml.php +++ /dev/null @@ -1,22 +0,0 @@ - - - - maier1 - mXabc123m! - Hubertus - Maier - maier1@bfpohg.de - - - ... - -*/ - -// create xml docs -$doc = new DOMDocumnet() - - - -?> \ No newline at end of file