Я пишу немного CMS в PHP. Все работает хорошо, но я никогда не работал с XML, обычно я использую SQL DB или CSV. Теперь я должен добавить некоторые элементы в XML-лист. У меня есть функция, полностью перезаписывающая файл. Я хотел бы добавить данные.Как добавить дочерние элементы в xml в php
Это функция "записи"
function scrivi() {
if (isset($_POST["titolo"])) {
$doc = new DOMDocument();
$doc->formatOutput = true;
$r = $doc->createElement("eventi");
$doc->appendChild($r);
$b = $doc->createElement("evento");
$titolo = $doc->createElement("titolo");
$titolo->appendChild($doc->createTextNode($_POST['titolo']));
$b->appendChild($titolo);
$data = $doc->createElement("data");
$data->appendChild($doc->createTextNode($_POST['data']));
$b->appendChild($data);
$desc = $doc->createElement("desc");
$desc->appendChild($doc->createTextNode($_POST['desc']));
$b->appendChild($desc);
$r->appendChild($b);
$doc->save("eventi.xml");
}
}
Это является поясняющей XML
<?xml version="1.0"?>
<eventi>
<evento>
<titolo>Festa</titolo>
<data>02/03/1993</data>
<desc>Centro Sociale Asilo Politico presenta 99 posse</desc>
</evento>
<evento>
<titolo>Festona</titolo>
<data>15/08/1996</data>
<desc>Falò alla baia: solite facce, solita feccia</desc>
</evento>
</eventi>
У меня также есть функция, которая, очевидно, считывать данные из XML. Я могу использовать функцию «читать», изнутри «писать», поэтому я могу читать содержимое, один элемент во времени (с помощью foreach) и вставлять его в очередь элемента для записи ($ b) , Это работает, но я не доволен этим, я бы хотел просто добавить или, по крайней мере, прочитать все содержимое файла через некоторое время. Я пытался копировать некоторые фрагменты здесь и там, но я не нашел функцию, которую я полностью понимаю, и мне НЕОБХОДИМО понять.
Надеюсь, что я был конкретным, Извините за плохой английский.
Извините, решено .. – user3179096