2015-05-18 1 views
0

У меня есть существующий XML-файл в следующем формате:Изменить существующий файл XML с DomDocument PHP

<root> 

<word> 
<label></label> 
<definition></definition> 
</word> 
... 

</root> 

Я беру в тексте через поле ввода для слова и определения на странице и передать его в PHP-скрипт через GET. Цель php-скрипта - ввести пользовательский ввод и добавить дополнительный элемент слова, содержащий метку вложенных элементов (содержащую фактическое слово) и определение (содержащее определение слова) в XML-документ vocab.xml.

Вот сценарий:

<?php 
$word = $_GET['word']; 
$definition = $_GET['definition']; 

$dom = new DomDocument(); 
$dom->load("vocab.xml"); 

$root = $dom->documentElement; 

$node = $dom->createElement("word"); 

$node2 = $dom->createElement("label", $word); 
$node3 = $dom->createElement("definition", $definition); 

$node->appendChild($node2); 
$node->appendChild($node3); 
$root->appendChild($node); 

$dom->asXML("vocab.xml"); 
?> 

Как она стоит сейчас сценарий, как представляется, правильно выполнить, но проверка файла XML показывает, что никаких изменений не было сделано.

ответ

1

DOMDocument не имеет способа asXML(). Вам необходимо использовать save():

$dom->save("vocab.xml"); 
+0

Спасибо, теперь он работает. Не могу поверить, что я этого не заметил. – ronyan