2014-11-15 3 views
1

Я пытаюсь добавить узел в в файле XML существует, но это не работаеткак вставить узел в XML-файл существует с PHP DOM

number.xml

<numbers> 
<number>1</number> 
<number>2</number> 
</numbers> 

number.php

<?php 
$xml = new DOMDocument(); 
$xml -> load('number.xml'); 
$xml_number = $xml->createElement("number"); 
$xml_number_text = $xml->createTextNode("3"); 
$xml_number->appendChild($xml_number_text); 
$xml_numbers = $xml->getElementsByTagName('numbers'); 
$xml_numbers->appendChild($xml_number); 
$xml->formatOutput=true; 
$xml->save("number.xml") or die("Error"); 
?> 

это ошибка: Неустранимая ошибка: вызов неопределенного метода DOMNodeList :: appendChild() в number.php Как добавить номер в номера? Мне нужно выглядеть ...

<numbers> 
<number>1</number> 
<number>2</number> 
<number>3</number> 
</numbers> 

ответ

1

Эта линия:

$xml_numbers = $xml->getElementsByTagName('numbers'); 

должно быть:

$xml_numbers = $xml->getElementsByTagName('numbers')->item(0); 

Обратите внимание, что getElementsByTagName() всегда будет возвращать XmlNodeList объект, а не один узел - даже если был найден только один элемент, как в вашем случае. Вам нужно явно адресовать первый элемент этого списка, используя ->item(0).

+0

OH! Да я сделал это!!! Большое спасибо. , но я не могу голосовать. У меня есть 1 точка repulation :( Как я могу что-то сделать для этого момента. – Plagorn

+0

Приятно видеть, что это вам помогло. Вы можете нажать знак «Принять» рядом с вопросом – hek2mgl

+0

OK! – Plagorn

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