ParseString($txt); } function GetPersons() { return $this->persons; } function ParseString($txt) { $lines = Array(); $line = Array(); $lines = explode("\n", $txt); foreach ($lines as $line) { $line = chop($line); $line = explode(",", $line); if (!isset($this->persons[$line[0]])) { $this->persons[$line[0]] = Array(); } $this->persons[$line[0]][] = $line[1]; } return 1; } } $parser = new ParseToDoTxt(); $parser->ParseFile("todo.txt"); $persons = $parser->GetPersons(); echo "
"; print_r($persons); echo ""; $doc = new DOMDocument('1.0', 'iso-8859-1'); $node = $doc->createElement("to-do"); $root = $doc->appendChild($node); foreach ($persons as $person => $tasks) { $node_person = $doc->createElement("person"); $node_name = $doc->createElement("name"); $node_name_text = $doc->createTextNode($person); $node_name->appendChild($node_name_text); $node_tasks = $doc->createElement("tasks"); foreach ($tasks as $task) { $node_task = $doc->createElement("task"); $node_task_text = $doc->createTextNode($task); $node_task->appendChild($node_task_text); $node_tasks->appendChild($node_task); } $node_person->appendChild($node_name); $node_person->appendChild($node_tasks); $root->appendChild($node_person); } $xml = $doc->saveXML(); print ($xml); ?>