![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 230 Pomógł: 3 Dołączył: 8.01.2008 Ostrzeżenie: (10%) ![]() ![]() |
Robię właśnie mapę newsów pewnego serwisu dla Google News. Trzeba tam użyć przestrzeni nazw "news". Do wygenerowania takiej mapy xml używam oczywiście php, aby była dynamiczna. Do utworzenia mapy używam klasy SimpleXMLElement. Oto kod tego generatora:
Nakładka addCData dodaje mi <[CDATA[ ]]> - oznaczenie zawartości danego elementu jako tekst, który nie podlega walidacji (znaki &, < i > umieszczone w zawartości bez cdata wywalają błąd). Nadając hamsko nazwę "news:news":
nie uzyskuje efektu - element ma nazwę "news". W dokumentacji funkcji AddChild znalazłem parametr odpowiadający za ową przestrzeń nazw, ale ustawiając go na "news":
otrzymałem taki tag: <news xmlns="news">, a we wzorcu google jest <news:news> no i z tego co czytałem o tych przestrzeniach nazw, tak to właśnie powinno wyglądać. A dzieci elementu "news", którym też nadałem tą przestrzeń nazw, nie zmieniły się. Następnie w funkcji konstruującej SimpleXMLElement znalazłem atrubuty "ns" i "is_prefix" - pierwszy to przestrzeń nazw, a drugi określa czy podana przestrzeń nazw to prefix (znalezione w komentarzach na php.net, przedostatni). Więc dałem w "ns" - "news" i "is_prefix" na true - że to prefix:
ale nadal nic się nie zmieniło ;/ Niby to xmlns:news nadaje już głównemu elementowi podczas tworzenia xmla:
ale widocznie w tym SimpleXMLElement trzeba jakoś inaczej to nadać. A oto co uzyskuje. Orientuje się ktoś jak to można uzyskać? :-) Ten post edytował Apocalyptiq 10.04.2009, 23:29:18 |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Moderatorzy Postów: 15 467 Pomógł: 1451 Dołączył: 25.04.2005 Skąd: Szczebrzeszyn/Rzeszów ![]() |
|
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 230 Pomógł: 3 Dołączył: 8.01.2008 Ostrzeżenie: (10%) ![]() ![]() |
DZIĘKI! (IMG:http://forum.php.pl/style_emoticons/default/biggrin.gif)
A jednak przestrzeni nazw identyfikuje sie po linkach, a nie nazwach :-) takie coś wypaliło:
DZIĘKI! ;-) Ten post edytował Apocalyptiq 10.04.2009, 23:42:15 |
|
|
![]() ![]() |
![]() |
Aktualny czas: 23.08.2025 - 15:05 |