Неустранимая ошибка: Uncaught DOMException: Ошибка недопустимого символа

У меня есть эта проблема, из-за недопустимой символьной ошибки, и я не понимаю такого рода ошибки. У меня есть форма, и через нее я собираюсь вставить некоторую информацию в документ XML под названием «phonebook.xml».

<?phpif(isset($_POST['submit'])){

$fn=$_POST['f1'];
$lm=$_POST['l1'];
$nt=$_POST['nr'];$xml=new DomDocument("1.0","UTF-8");
$xml->load("phonebook.xml");

$rootTag=$xml->getElementsByTagname("root")->item(0);
$infoTag=$xml->createElement("Personal Information");
$fnameTag=$xml->createElement("First Name",$fn);
$lnameTag=$xml->createElement("Last Name",$lm);
$ntTag=$xml->createElement("Number Type",$nt);$infoTag->appendChild($fnameTag);
$infoTag->appendChild($lnameTag);
$infoTag->appendChild($ntTag);

$rootTag->appendChild($infoTag);
$xml->save("phonebook.xml");}

?>

0

Решение

Проблема в том, что у меня не должно быть пробела между личной информацией, но должно быть: PersonalInformation.

0

Другие решения

Имена элементов имеют узлы, в которых могут быть пробелы, поэтому Personal Information неверное имя тега Вы можете заменить / удалить пространство.

Кроме того, второй аргумент DOMDocument :: createElement () имеет аварийный выход. Самый простой способ — создавать и добавлять контент в виде текстовых узлов.

$document = new DOMDocument("1.0","UTF-8");
$document->appendChild($document->createElement('root'));

$rootTag = $document->documentElement;
$infoTag = $rootTag->appendChild(
$document->createElement("PersonalInformation")
);
$infoTag
->appendChild($document->createElement("FirstName"))
->appendChild($document->createTextNode("John"));

$document->formatOutput = TRUE;
echo $document->saveXML();

Выход:

<?xml version="1.0" encoding="UTF-8"?>
<root>
<PersonalInformation>
<FirstName>John</FirstName>
</PersonalInformation>
</root>
0

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector