Why is this PHP giving an error to write an XML?

Question:

I'm trying to make a simple XML that gets the data registered in a page in PHP but it's giving an error, can someone tell me what it is and how can it work?

Error that appears when pressing the button:

Fatal error: Uncaught exception 'DOMException' with message 'Hierarchy Request Error' in C:\xampp…\cadastro.php:17 Stack trace: #0 C:\xampp…\cadastro.php(17): DOMNode ->appendChild(Object(DOMElement)) #1 {main} thrown in C:\xampp…\cadastro.php on line 17

Entire page code:

<?php 

if (isset($_POST['insert'])){

$xml= new DOMDocument("1.0", "UTF-8");
$xml->load('studentdb.xml');

$nome = $_POST['nome'];
$endereco = $_POST['endereco'];

$rootTag = $xml->getElementsByTagName("roo")->item(0);

$infoTag = $xml->createElement("info");
    $nomeTag = $xml->createElement("nome", $nome);
    $enderecoTag = $xml->createElement("endereco", $endereco);

    $nomeTag->appendChild($nomeTag);
    $enderecoTag->appendChild($enderecoTag);

$rootTag->appendChild($infoTag);
$xml->save('studentdb.xml');

}
?>

<html>
<body>
<form method="post" action="cadastro.php">
Informacoes <br>
Nome <input type="text" name="nome"> <br>
Endereco <input type="text" name="endereco"> <br>
<input type="submit" name="insert" value="add">
</form>
</body>
</html>

Answer:

This error is because you are trying to move a node within itself.

Here's an explanation of a question just like yours.

Hope this helps.

UPDATING:

Take a look at lines 17 and 18 of your code. I believe that's the problem.

$nomeTag->appendChild($nomeTag);
$enderecoTag->appendChild($enderecoTag);
Scroll to Top