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