Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> Problem przy wygenerowaniu XML'a
masterix
post 4.09.2008, 14:07:35
Post #1





Grupa: Zarejestrowani
Postów: 93
Pomógł: 0
Dołączył: 7.09.2004

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


Witam,

Potrzebuję za pomocą DOMDocument wygenerować takie coś:
  1. <urlset xmlns="adres1"
  2.        xmlns:geo="adres2">
No i niestety nie udaje mi się to. Mógłby ktoś podpowiedzieć jak zdefiniować tą przestrzeń nazw? Udało mi się takie coś:
  1. <?xml version="1.0" encoding="iso-8859-2"?>
  2. <urlset xmlns="adres1"/>
za pomocą kodu:
  1. <?php
  2. $dom = new DOMDocument( '1.0', 'iso-8859-2' );
  3. $urlset = $dom->createElement( 'urlset' );
  4. $urlset->setAttribute( 'xmlns', 'adres1' );
  5. $dom->appendChild( $urlset );
  6. $output = $dom->saveXML();
  7. ?>


pzdr.
Go to the top of the page
+Quote Post
TrevorGryffits
post 4.09.2008, 16:55:49
Post #2





Grupa: Zarejestrowani
Postów: 139
Pomógł: 24
Dołączył: 29.07.2007
Skąd: Tarnowskie Góry

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


Osobiście nigdy niem korzystałem z przestrzeni nazw, ale spróbuj może createAttributeNS" title="Zobacz w manualu PHP" target="_manual, registerNamespace" title="Zobacz w manualu PHP" target="_manual? Ogólnie poszukaj na stronie DOM w manualu "namespace". Mam nadzieję, że trafiłem;)
Go to the top of the page
+Quote Post
masterix
post 4.09.2008, 20:44:10
Post #3





Grupa: Zarejestrowani
Postów: 93
Pomógł: 0
Dołączył: 7.09.2004

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


Próbowałem jednak nic mi nie wyszło - albo inaczej, wychodziły cuda niewidy smile.gif
No i pierwszym miejscem jakie odwiedziłem to właśnie php.net/dom
Go to the top of the page
+Quote Post
pinochet
post 29.10.2008, 23:57:01
Post #4





Grupa: Zarejestrowani
Postów: 120
Pomógł: 12
Dołączył: 9.10.2008
Skąd: Tricity.Rumia()

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


Pozwalam sobie odgrzać, jako iż ja tez probowalem rozwiazac ten problem, a szukając w sieci chyba z 3 razy na ten wątek trafiłem. Wklejam dla potomnych a także byłbym wdzięczny jeżeli ktoś by to poprawił bo to takie rozwiązanie jest sprzeczne z moim poczuciem estetyki :]
  1. <?php
  2.  $dom = new DOMDocument('1.0', 'UTF-8');
  3.  $tmp = $dom->CreateElement("form");
  4.  $dom->appendChild($tmp); // aby skorzysac z createAtributeNS root musi juz istniec
  5.  
  6.            $elm = $dom->createAttributeNs('http://www.w3.org/2001/XMLSchema-instance', 'xsi:schemaLocation');
  7.                      $txt = $dom->createTextNode('http://jjroman.net note.xsd');
  8.           $elm->appendChild($txt);
  9.  
  10. $tmp->appendChild($elm);
  11.  
  12.  
  13.           $elm = $dom->createAttribute('xmlns');
  14.                      $txt = $dom->createTextNode('http://jjroman.net');
  15.           $elm->appendChild($txt);
  16.  
  17. $tmp->appendChild($elm);
  18.  
  19.  
  20. echo $dom->saveXML();
  21. ?>

wyjscie będzie takie:
  1.    <?xml version="1.0" encoding="UTF-8"?>
  2. <form
  3.     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  4.     xmlns="http://jjroman.net"
  5.     xsi:schemaLocation="http://jjroman.net note.xsd"
  6. />
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:27