Reputation: 612
I try to add node at in exist xml file but it's not work
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");
?>
this is a error: Fatal error: Call to undefined method DOMNodeList::appendChild() in number.php How to add number to numbers? I need it look like...
<numbers>
<number>1</number>
<number>2</number>
<number>3</number>
</numbers>
Upvotes: 1
Views: 463
Reputation: 157947
This line:
$xml_numbers = $xml->getElementsByTagName('numbers');
should be:
$xml_numbers = $xml->getElementsByTagName('numbers')->item(0);
Note, that getElementsByTagName()
will always return an XMLNodeList Object, not a single node - even if just a single element was found, like in your case. You need to explicitly address the first element of that list using ->item(0)
.
Upvotes: 1