2012-06-17 2 views
-2

Возможные Дублировать:
A simple program to CRUD node and node values of xml fileЕще одно замечание с SimpleXML

Это пример XML-файл:

<?xml version="1.0" encoding="ISO-8859-1"?> 
<notes> 
    <note> 
     <to>Tove</to> 
     <from>Jani</from> 
     <heading>Reminder</heading> 
     <body>Don't forget me this weekend!</body> 
    </note> 
</notes> 

Как добавить еще один note (со всеми его элементами) используя SimpleXML?
addChild() добавляет только ребенка к существующему дереву, насколько я знаю.

ответ

0

Хорошо, сначала я получу лучшую ссылку. Может быть, PHP руководство, которое является большим ресурсом:

http://www.php.net/manual/en/simplexml.examples-basic.php#example-5118

Это добавляет узел к вашему notes списку:

<?php 

$notesxml = <<<XML 
<?xml version="1.0" encoding="ISO-8859-1"?> 
<notes> 
    <note> 
     <to>Tove</to> 
     <from>Jani</from> 
     <heading>Reminder</heading> 
     <body>Don't forget me this weekend!</body> 
    </note> 
</notes> 
XML; 

$notes = new SimpleXMLElement($notesxml); 

$note = $notes->addChild('note'); 
$note->addChild('to', 'Yourself'); 
$note->addChild('from', 'Billy Brown'); 
$note->addChild('heading', 'Another note'); 
$note->addChild('body', 'This is the body'); 

echo $notes->asXML(); 

?> 

http://codepad.org/QrlU5CYm

Вы смотрите на правой. Вам просто нужно сначала загрузить XML, в какой бы форме он ни появился.

+0

Спасибо, но у меня есть существующий файл, поэтому мне нужно сначала загрузить его, а не создавать новый. У вас также есть пример? – user1170330

+1

Wow Jared потратил время, чтобы написать вам такой приятный ответ, и вы просто продолжаете настаивать, прося больше кода? @Jared: Почему бы не удалить ответ? И затем передайте мне ссылку на один из ваших более ранних ответов, на который я могу поставить щедрость? – hakre

+0

@ user1170330 - У вас есть три предположения, которые одна из [этих функций] (http://www.php.net/manual/en/ref.simplexml.php) является правильной, но одного догадства должно быть достаточно. –