Неустранимая ошибка: Uncaught TypeError: Аргумент 1, передаваемый в DOMNode :: appendChild (), должен быть экземпляром DOMNode, строка указана в - PullRequest
0 голосов
/ 01 мая 2018

Я пытаюсь сделать простой сканер, чтобы захватить отдельные элементы страницы, сам сканер дает мне необходимую информацию, но я хотел бы записать ее в файл XML, но проблема заключается в следующем: Fatal error: Uncaught TypeError: Argument 1 passed to DOMNode::appendChild() must be an instance of DOMNode, string given

Вот мой код:

...
$data = array(
'img-code' => $element->img,
'ean' => $eant,
'desc' => $description
);
echo $data['img-code'];

$doc = new DOMDocument();

$eanXML = $doc->createElement('Ean');
$doc->appendChild($data['ean']);

$imgXML = $doc->createElement('Img');
$doc->appendChild($data['img-code']);

$descXML = $doc->createElement('Description');
$doc->appendChild($data['desc']);

echo $doc->saveXML();
....

Какой вывод я хочу:

<products>
<product>    
    <Ean>My ean number {$data['ean']}</Ean>
    <Img>My IMG {$data['img']}</Img>
    <Description>My Description {$data['desc']}</Description>
</product>
<product>
    <Ean></Ean>
    <Img></Img>
    <Description></Description>
</product>
</products>

1 Ответ

0 голосов
/ 01 мая 2018

согласно требованиям к функции: http://php.net/manual/en/domnode.appendchild.php

вы добавляете к дочернему узлу, а не к строке.

$eanXML = $doc->createElement('Ean');
$doc->appendChild($eanXML); //append to 'Ean'
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...