Все примеры, которые я могу найти в Интернете по этому поводу, включают простое добавление содержимого в файл XML в корне документа, но мне действительно нужно сделать это глубже.
Мой XML-файл прост, у меня есть:
<?xml v1 etc>
<channel>
<screenshots>
<item>
<title>Image Title</title>
<link>www.link.com/image.jpg</link>
</item>
</screenshots>
</channel>
Все, что я хочу сделать, это добавить новые элементы "item", каждый с заголовком и ссылкой. Я знаю, что мне нужно использовать PHP DOM, но я озадачен тем, как его кодировать, чтобы он добавлял данные в «скриншоты», а не переписывал весь документ. У меня есть подозрение, что мне может понадобиться и XPath, но я не знаю, как!
Код, который я собрал из онлайн-примеров, выглядит следующим образом (но я уверен, что это неправильно)
$newshottitle = "My new screenshot";
$newshotlink = "http://www.image.com/image.jpg";
$dom = newDomDocument;
$dom->formatOutput = true;
$dom->load("../xml/screenshots.xml");
$dom->getElementsByTagName("screenshots");
$t = $dom->createElement("item");
$t = $dom->createElement("title");
$t->appendChild($dom->createTextNode("$newshottitle"));
$l = $dom->createElement("link");
$l->appendChild($dom->createTextNode("$newshotlink"));
$dom->save("../xml/screenshots.xml");