2012-03-19 4 views
0

У меня есть документ XML, подобный следующему:Как добавить элемент к существующему элементу в объекте SimpleXML

<contents> 
    <module id="0"> 
    <module id="1"> 
    ... 
</contents> 

Я хотел бы найти документ, «ид», а затем добавьте или больше детей к узлу, поиск возвращается. Как можно сделать это с помощью SimpleXML или комбинации SimpleXML/DOM?

+0

Руководство по PHP - хорошее место для просмотра http://www.php.net/manual/en/simplexmlelement.addchild.php – vascowhite

ответ

0

Это способ поиска элемента на основе коды с помощью XPath запроса в простом XML:

$nodes = $xml->xpath('//DocSum[Item[@id="0"]]'); 
$book = $nodes[0]; 

Добавить ребенок что-то вроде этого:

$book->addChild('name', 'Mr. Parser'); 
$book->addChild('actor', 'John Doe'); 

Вот more precise tutorial.

-1

Вы можете использовать PHP: DOm или PHP: SimpleXML. Это зависит от того, что вы хотите достичь.

Если вы просто хотите добавить новый узел, используйте PHP: SimpleXML. довольно легко понять. Но добавьте новый узел в конец существующих дочерних узлов.

http://www.php.net/manual/en/simplexmlelement.addchild.php

если вы хотите добавить новый узел, прежде чем какой-либо конкретной дочернего узла. Вы должны использовать PHP: DOm.Will дать вам больше свободы, но немного кривая обучения.

Скажем, если вы хотите добавить узел после конкретного использования узла: http://www.php.net/manual/en/domnode.appendchild.php

Скажем, если вы хотите добавить узел до конкретного использования узла: http://www.php.net/manual/en/domnode.insertbefore.php

Надежда эта помощь

~ K

Смежные вопросы