Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP][XML] Atrybuty & CDATA
Forum PHP.pl > Forum > Przedszkole
Puchatek
Witajcie,
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:
  1. class SimpleXMLExtend extends SimpleXMLElement
  2. {
  3. public function addCData($nodename,$cdata_text)
  4. {
  5. $node = $this->addChild($nodename); //Added a nodename to create inside the function
  6. $node = dom_import_simplexml($node);
  7. $no = $node->ownerDocument;
  8. $node->appendChild($no->createCDATASection($cdata_text));
  9. }
  10. }


Wszystko działa pięknie w kategoriach, nazwie produktu czy opisie.
Problem pojawia się jednak przy dodawaniu atrybutów w <attrs>.
Przykładowo:
  1. $a = $attrs->addCData('a', $item->Brand);
  2. $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.
nospor
Skoro pracujesz na wyniku addCData() to nie sadzisz ze addCData() powinno na koncu cos zwracac? I aby to cos zwrocilo, nie sadzisz ze powinnno byc na koncu addCData:

return tocos;

?
Puchatek
Dziękuję za nakierowanie. Problem rozwiązany.
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.