1

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>

1 Answer 1

1

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).

Sign up to request clarification or add additional context in comments.

1 Comment

OH! YES, I did it!!! Thank you very much. but I can't vote. I have 1 repulation point :( how can I do something for this point.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.