pracuję nad przeróbką XMLi z jednego formatu na format Ceneo - https://www.ceneo.pl/poradniki/Instrukcja-t...ktura-pliku-xml
Wymagany jest znacznik CDATA, dlatego użyłem do niego funkcji:
class SimpleXMLExtend extends SimpleXMLElement { public function addCData($nodename,$cdata_text) { $node = $this->addChild($nodename); //Added a nodename to create inside the function $node = dom_import_simplexml($node); $no = $node->ownerDocument; $node->appendChild($no->createCDATASection($cdata_text)); } }
Wszystko działa pięknie w kategoriach, nazwie produktu czy opisie.
Problem pojawia się jednak przy dodawaniu atrybutów w <attrs>.
Przykładowo:
$a = $attrs->addCData('a', $item->Brand); $a->addAttribute('name', 'Producent');
Podczas generowaniu pliku otrzymuję błąd:
Fatal error: Call to a member function addAttribute() on null
Rozumiem, że po prostu brakuje mi funkcji dodawania atrybutu w nowo powstałej funkcji addCData.
Niestety nie mam jeszcze opanowanego ich budowania, dlatego proszę o pomoc. Funkcję addCData udało mi się najzwyczajniej znaleźć w internecie.