Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Generowanie namespace w SimpleXML
CzarnyGsm
post
Post #1





Grupa: Zarejestrowani
Postów: 84
Pomógł: 2
Dołączył: 16.04.2007

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


Witam,

Mam problem z dodaniem namaspace do parametru rss oraz dla parametru item atrybutu z wartością "k:context="7"".

Otóż chciałbym uzyskąć taki wygląd XML na pomocą biblioteki SimpleXML:
  1. <response>
  2. <status>OK</status>
  3. <rss xmlns:k="adresik.com">
  4. <channel>
  5. <item k:context="7">
  6. <is_read>0</is_read>
  7. <content>tescik</content>
  8. <sender>Piotr Test</sender>
  9. <date>2012-08-09 10:46:07</date>
  10. </item>
  11. </channel>
  12. </rss>
  13. </response>


Gdy próbuje dodać to w ten sposób:
  1. $authorizationXML = new SimpleXMLElement("<response></response>");
  2. ...
  3. $authorizationXML->addChild('status', 'ok');
  4. $rssXML = $authorizationXML->addChild('rss');
  5. $rssXML->addAttribute("xmlns:k", self::NAMESPACE_XMLNS);
  6. ...

Przy parametrze RSS zwracany jest mi nazwa atrybut po przedrostku xmlns:. Dlaczego tak się dzieje, że funkcja wyrzuca to co jest przed dwukropkiem?
  1. <response>
  2. <status>OK</status>
  3. <rss k="adresik.com">
  4. <channel>
  5. <item context="7">
  6. <is_read>0</is_read>
  7. <content>tescik</content>
  8. <sender>Piotr Test</sender>
  9. <date>2012-08-09 10:46:07</date>
  10. </item>
  11. </channel>
  12. </rss>
  13. </response>


Próbowałem dodać to w ten sposób:
  1. $authorizationXML = new SimpleXMLElement("<response></response>");
  2. ...
  3. $authorizationXML->addChild('status', 'ok');
  4. $rssXML = $authorizationXML->addChild('rss');
  5. $rssXML->registerXPathNamespace('k', self::NAMESPACE_XMLNS);
  6. ...

Ale wtedy paramter RSS jest pusty tzn. bez żadnych atrybutów.
  1. ..
  2. <rss>
  3. ..

A co jeśli gdy chcę dodać przy parametrze item atrybut k:context z wartoscia 7 ? W jaki to sposób mogę zrobić? Nie wiem dlaczego ale addAttribute ucina tekst przed wystąpieniem ':'

Z góry dziękuję za pomoc.

Pozdrawiam
Go to the top of the page
+Quote Post

Posty w temacie


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 Aktualny czas: 21.08.2025 - 16:07