Im использует CubeGallery3D, который хранит файлы XML.
Структура XML выглядит следующим образом: http://pastebin.com/peMxcmYb
Я хотел бы добавить:
<thumbnail preview="This is Preview" previewURL="This is URL" thumb="This is Thumb"> <title><![CDATA[This is Title]]></title> <discription><![CDATA[This is Description]]></discription> </thumbnail>
В XML-файл с PHP.
Я начал с этого:
$xmldoc = new DOMDocument(); $xmldoc->load('/theme1157/sample.xml');
для загрузки sample.xml.
Может ли кто-нибудь показать мне, как я могу создать элемент <thumbnail>
в файле и добавить к нему значения параметра +, как в приведенном выше примере?
Попробуй это:
<?php $xmldoc = new DOMDocument(); $xmldoc->load('sample.xml'); $thumbnail = $xmldoc->createElement('thumbnail'); $thumbnail->setAttribute('preview', 'This is a preview'); $thumbnail->setAttribute('previewURL', 'This is a URL'); $thumbnail->setAttribute('thumb', 'This is a Thumb'); $title = $xmldoc->createElement('title'); $title->appendChild($xmldoc->createCDATASection('This is Title')); $thumbnail->appendChild($title); $description = $xmldoc->createElement('description'); $description->appendChild($xmldoc->createCDATASection('This is Description')); $thumbnail->appendChild($description); $xmldoc->getElementsByTagName('thumbnails')->item(0)->appendChild($thumbnail); $xmldoc->save('sample.xml');
Практически так же, как манипуляция DOM в JavaScript – это должно быть что-то вроде …
$xmlThumbnail = $xmlDoc->createElement('thumbnail'); $xmlTitle = $xmlDoc->createElement('title'); $xmlDescription = $xmlDoc->createElement('discription'); $xmlThumbnail->setAttribute('preview', $sPreview); $xmlThumbnail->setAttribute('previewurl', $sPreviewURL); //technically in XML attributes must be in lowercase $xmlThumbnail->setAttribute('thumb', $sThumbnail); //presumably a path? $xmlThumbnail->appendChild($xmlTitle); $xmlThumbnail->appendChild($xmlDescription); $xmlDoc->appendChild($xmlThumbnail); $xmlDoc->save('/theme1157/sample.xml');
Хотя $xmlDoc->appendChild()
, вероятно, потребуется изменить, если это «реальный» XML-документ, так как должен существовать контейнерный элемент, поэтому он может быть чем-то вроде $xmlDoc->firstChild->appendChild($xmlThumbnail);