Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [PHP][XML] Atrybuty & CDATA
Puchatek
post 7.02.2020, 18:31:32
Post #1





Grupa: Zarejestrowani
Postów: 24
Pomógł: 0
Dołączył: 4.07.2019

Ostrzeżenie: (0%)
-----


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.
Go to the top of the page
+Quote Post
nospor
post 10.02.2020, 15:10:12
Post #2





Grupa: Moderatorzy
Postów: 36 440
Pomógł: 6290
Dołączył: 27.12.2004




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;

?


--------------------

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post
Puchatek
post 11.02.2020, 09:40:09
Post #3





Grupa: Zarejestrowani
Postów: 24
Pomógł: 0
Dołączył: 4.07.2019

Ostrzeżenie: (0%)
-----


Dziękuję za nakierowanie. Problem rozwiązany.
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 28.03.2024 - 17:44