Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [Zend] XML
sleedz
post 16.02.2012, 07:59:12
Post #1





Grupa: Zarejestrowani
Postów: 43
Pomógł: 0
Dołączył: 15.01.2008

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


Witam.
Mam zrobiony controller który mi generuje xml'a, działa to na ff ale już na ie i chrome nie działa.
oto kod:
  1. public function getStuffXmlAction()
  2. {
  3. $this->_helper->viewRenderer->setNoRender();
  4. $this -> _helper->layout()->disableLayout();
  5. $stuffDB = new Application_Model_DbTable_ProtocolStuff;
  6.  
  7. header('Content-type: application/xml; charset="utf-8"');
  8.  
  9. echo "<result>";
  10.  
  11. if(isset($_GET['destiny'])) {
  12. $destiny = $_GET['destiny'];
  13. $stuffArr = $stuffDB->fetchAll($stuffDB->select()->where('destiny = ?', $destiny));
  14. foreach($stuffArr as $stuff) {
  15. echo "<stuff>";
  16. echo "<title>".$stuff['title']."</title>";
  17. echo "<destiny>".$stuff['destiny']."</destiny>";
  18. echo "<id>".$stuff['stuff_id']."</id>";
  19. echo "<desc>".$stuff['stuff_id']."</desc>";
  20. echo "</stuff>";
  21. }
  22. } else {
  23. echo "<stuff><title>Nie podano czegoś tam</title></stuff>";
  24. }
  25. echo "</result>";
  26. }


Bardzo prosiłbym o pomoc.

Ten post edytował sleedz 16.02.2012, 08:00:38
Go to the top of the page
+Quote Post
Crozin
post 16.02.2012, 09:11:20
Post #2





Grupa: Zarejestrowani
Postów: 6 476
Pomógł: 1306
Dołączył: 6.08.2006
Skąd: Kraków

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


1. Co to za dziwny pomysł, żeby generować XML-a ręcznie przez echo?
2. Co to za dziwny pomysł, żeby generowanie XML-a pchać do kontrolera w ZF?
3. Kodowanie w nagłówku Content-Type nie powinno być w cudzysłowiu.
4. Pokaż wygenerowany, finalny kod.
Go to the top of the page
+Quote Post
sleedz
post 16.02.2012, 09:58:48
Post #3





Grupa: Zarejestrowani
Postów: 43
Pomógł: 0
Dołączył: 15.01.2008

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


W ie jest taki komunikat
Cytat
Nie można wyświetlić strony XML
Nie można przeglądać wejścia XML przy użyciu arkusza stylów . Popraw błąd, a następnie kliknij przycisk Odśwież lub spróbuj ponownie później.


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

Nieprawidłowa wartość na najwyższym poziomie dokumentu. Błąd podczas przetwarzania zasobu 'http://bum/Raporting/public/prot...

<result><company><name>Lorem Ipsum Tralalala</name><client1>Lorem Ipsum</client1><c...


Próbowałem też ustawić pusty layout i w widoku wypisywanie znaczników xml ale nie chce mi to działać, tak jakby oprócz xml'a było coś jeszcze w wygenerowanym dokumencie.
Go to the top of the page
+Quote Post
Crozin
post 16.02.2012, 10:01:57
Post #4





Grupa: Zarejestrowani
Postów: 6 476
Pomógł: 1306
Dołączył: 6.08.2006
Skąd: Kraków

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


Nie możesz zobaczyć po prostu w źródłe dokumentu (strony) jaka jest jej treść?
Go to the top of the page
+Quote Post
sleedz
post 16.02.2012, 10:38:41
Post #5





Grupa: Zarejestrowani
Postów: 43
Pomógł: 0
Dołączył: 15.01.2008

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


Plik źródłowy XML jest niedośtępny do przeglądania.
Usunąłem header żeby zobaczyć co się generuje i okazuje się że jest spacja na samym początku. tylko że teraz nie wiem gdzie ona jest żeby ją usunąć.

Ten post edytował sleedz 16.02.2012, 10:46:42
Go to the top of the page
+Quote Post
Crozin
post 16.02.2012, 10:50:49
Post #6





Grupa: Zarejestrowani
Postów: 6 476
Pomógł: 1306
Dołączył: 6.08.2006
Skąd: Kraków

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


Być może jest to UTF'owski BOM - w Googleu/na forum masa odpowiedzi n/t tego czym to jest oraz jak się tego pozbyć.
Go to the top of the page
+Quote Post
sleedz
post 16.02.2012, 11:02:02
Post #7





Grupa: Zarejestrowani
Postów: 43
Pomógł: 0
Dołączył: 15.01.2008

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


Szukałem już w googlach i nic nie znalazłem. Może źle szukam...
Go to the top of the page
+Quote Post
Crozin
post 16.02.2012, 11:07:10
Post #8





Grupa: Zarejestrowani
Postów: 6 476
Pomógł: 1306
Dołączył: 6.08.2006
Skąd: Kraków

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


Nie wierzę, że szukałeś bo wpisanie na pałę utf bom już w pierwszym wyniku daje konkretne wyjaśnienie co to jest i jak się tego pozbyć.
Go to the top of the page
+Quote Post
sleedz
post 16.02.2012, 11:37:15
Post #9





Grupa: Zarejestrowani
Postów: 43
Pomógł: 0
Dołączył: 15.01.2008

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


Żeby pozbyć się tej spacji muszę otworzyć każdy plik i usunąć z niego sygnaturę utf-8? Nie ma jakiegoś szybszego rozwiązania? Bo zend ma dość dużo plików
Go to the top of the page
+Quote Post
daniel1302
post 16.02.2012, 12:26:51
Post #10





Grupa: Zarejestrowani
Postów: 602
Pomógł: 30
Dołączył: 1.08.2007
Skąd: Nowy Sącz

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


Ja w zendzie miałem to samo i w którymś pliku chyba w konfiguracji albo bootloaderze zrobiłem takie coś

Kod
<?php ... ?>


Jeśli nie widzicie to patrzcie
<php ... ?> _(spacja tutaj byla)

Cały czas pluł się Validator HTML, że nie mogę zaczynać od spacji tak mnie to zdenerwowało, że 2 dni szukałem po ZF i nic... Ale przynajmniej poznałem mniej wiecej jego budowe. A wkońu samo się znalazło:D

a co do usuwania utf8 ściągnij program Gżeżdzółka XP(chyba tak to sie pisało) i zmien kodowanie na UTF8 bez BOM

Możesz w tym programie całą grupę programó lub całe foldery dodawać.

Ten post edytował daniel1302 16.02.2012, 12:07:25
Go to the top of the page
+Quote Post
Crozin
post 16.02.2012, 12:31:19
Post #11





Grupa: Zarejestrowani
Postów: 6 476
Pomógł: 1306
Dołączył: 6.08.2006
Skąd: Kraków

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


Plików Zenda ruszać nie musisz, wystarczy raptem kilka Twoich (o ile problem rzeczywiście leży w BOM-ie, a nie w jakiejś zagubionej spacji).
Go to the top of the page
+Quote Post
sleedz
post 16.02.2012, 14:14:15
Post #12





Grupa: Zarejestrowani
Postów: 43
Pomógł: 0
Dołączył: 15.01.2008

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


Dzieki wielkie za pomoc. Rozwiązałem problem. W niektórych plikach był jakiś znak na samym początku, przed <?php, a w innych dodatkowa linia na końcu, za ?>

Ten post edytował sleedz 16.02.2012, 14:14:31
Go to the top of the page
+Quote Post
daniel1302
post 16.02.2012, 18:14:19
Post #13





Grupa: Zarejestrowani
Postów: 602
Pomógł: 30
Dołączył: 1.08.2007
Skąd: Nowy Sącz

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


Dlatego najlepiej nie kończyć plików dostępnych dla ogółu modułów. Kiedyś na kursie Zenda wykladowca tak mówił
Kod
<?php
....


i wtedy ani errora ani problemu niema.
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: 13.06.2025 - 07:33