Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [xml][DOM] sama podstawa
marcinek37
post
Post #1





Grupa: Zarejestrowani
Postów: 239
Pomógł: 0
Dołączył: 2.06.2011

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


Mam kod:
  1. <?
  2. $doc = new DOMDocument();
  3. $doc->loadHTML('<HTML><A HREF="ss">asd</A>');
  4. echo $doc;
  5. ?>


Dopóki nie dodam ostatniej linijki, błędu nie ma. Jeśli tylko dowiem się w czym leży problem, od razu będę mógł iść dalej z tematem.

phhpinfo() mówi:
DOM/XML enabled
DOM/XML API Version 20031129
libxml Version 2.6.26
HTML Support enabled
XPath Support enabled
XPointer Support enabled
Schema Support enabled
RelaxNG Support enabled
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
marcinek37
post
Post #2





Grupa: Zarejestrowani
Postów: 239
Pomógł: 0
Dołączył: 2.06.2011

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


troszkę ciekawych informacji z tego linka wyciągnąłem, bardzo Ci dziękuję - ponownie (IMG:style_emoticons/default/wink.gif)

powstał u mnie kolejny problem:
  1. <?
  2. $dom = new DOMDocument('1.0', 'utf-8');
  3. $dom->formatOutput = true;
  4. $products_list = $dom->appendChild($dom->createElement('products_list'));
  5. $product = $products_list->appendChild($dom->createElement('product'));
  6. $product->appendChild($dom->createElement('id', 1));
  7. $product->appendChild($dom->createElement('name', '<b>AAA</b>'));
  8. $dom->save('nazwa.xml');
  9. ?>


jak widzisz, tworzę już swoje pliki xml (progress jest), jednak element <name> ma zamieniane znaczniki HTML w np. &lt;b&gt;.

całość wygenerowanego pliku wygląda tak:
<?xml version="1.0" encoding="utf-8"?>
<products_list>
<product>
<id>1</id>
<name>&lt;b&gt;AAA&lt;/b&gt;</name>
</product>
</products_list>

a powinna tak:
<?xml version="1.0" encoding="utf-8"?>
<products_list>
<product>
<id>1</id>
<name><b>AAA</b></name>
</product>
</products_list>
Go to the top of the page
+Quote Post
zegarek84
post
Post #3





Grupa: Zarejestrowani
Postów: 1 332
Pomógł: 294
Dołączył: 12.10.2008
Skąd: Olkusz

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


Cytat(marcinek37 @ 12.04.2013, 00:01:47 ) *
jak widzisz, tworzę już swoje pliki xml (progress jest), jednak element <name> ma zamieniane znaczniki HTML w np. <b>

nadeszła chwila relaksu, a że nie jestem programistą z zawodu to nie znam funkcji na pamięć więc pewnie wkradną się błędy lub możesz nie bardzo zrozumieć to co piszę skoro jestem pod wpływem ;p

no właśnie to poprawne działanie - w JavaScript podobny fragment kody wykorzystuje się do implementacji funkcji typu escapeHTML encodeHTML gdzie na odpowiednie znaczniki zamienia się znaki typu <> itd... by np. wyświetlić potem kod HTML... pod tym kontem spojrzyj, to nie będziesz widział błędu ;]

rozwiązanie na szybko jak jestem pod wpływem - luknij która funkcja zamienia tak na encje w manualu php i są jej odpowiedniki do dekodowania - więc w XML'u możesz przechowywać strukturę zakodowaną - co w sumie było by poprawne, gdyż nie przewidywałeś tam dodatkowych elementów drzewa XML (nie patrz na kod HTML ;p) - ps. jeśli jest tam możliwość niepoprawnej struktury XML to niech lepiej to zostanie zakodowane by nie rozwaliło Ci pliku XML (analogia do HTML iniection)...

drugie rozwiązanie na szybko jak jestem pod wpływem przypomina tą funkcję którą robiłeś z innerHTML - po prostu pokombinuj, jak zaimportować już Elementy a nie tekst ;] - jak sam poprubujesz to nawet jak nie dasz rady prędzej to zapamiętasz... daj kod co tam zrobiłeś, jak będę miał czas to może poprawię ;] - ale nie nastawiaj się, że będę miał czas gdyż mam swoje zajęcia jutro (już dziś ;p) w sobotę też a w niedzielę rodzinkę pasuje odwiedzić ;p

pozdro...

Ten post edytował zegarek84 11.04.2013, 23:24:07
Go to the top of the page
+Quote Post

Posty w temacie
- marcinek37   [xml][DOM] sama podstawa   8.04.2013, 14:15:55
- - nospor   CytatDopóki nie dodam ostatniej linijki, błędu nie...   8.04.2013, 14:20:51
- - marcinek37   kompletnie wypadło mi z głowy, taki jest błąd: Ca...   8.04.2013, 17:03:10
- - melkorm   RTFM http://pl1.php.net/manual/en/domdocument.save...   8.04.2013, 17:14:26
- - marcinek37   czy macie może linka do jakiegoś poradnika, ale w ...   8.04.2013, 17:30:53
- - zegarek84   niestety większość materiałów jest po angielsku......   8.04.2013, 21:24:37
- - marcinek37   zrobiłem postępy w temacie, ale zatrzymałem się na...   8.04.2013, 23:23:09
- - nospor   CytatWszystko jest ok, ale wartości się nie pokazu...   9.04.2013, 06:41:31
- - marcinek37   Po dodaniu tego kodu pokazują się takie błędy: Not...   9.04.2013, 11:24:13
- - zegarek84   [PHP] pobierz, plaintext <?phperror_reporting...   9.04.2013, 20:01:30
- - marcinek37   świetnie, działa! a powiedz mi, "duże...   9.04.2013, 22:49:54
- - zegarek84   to zależy od ustawień serwera... ale każdy plik wc...   9.04.2013, 23:06:59
- - marcinek37   ok, a masz może jakiegoś linka do jakiegoś poradni...   10.04.2013, 00:51:33
- - zegarek84   popisz trochę w JavaScript, korzystaj z narzędzi t...   10.04.2013, 11:48:50
- - marcinek37   1. mam już troszkę rozszerzony kod: [PHP] pobierz,...   10.04.2013, 23:43:23
- - zegarek84   przede wszystkim zawsze wyświetlaj sobie błędy: er...   11.04.2013, 08:56:03
- - marcinek37   bardzo Ci dziękuję! 1. specjalnie w drugim pr...   11.04.2013, 11:11:22
|- - zegarek84   Cytat(marcinek37 @ 11.04.2013, 12:11...   11.04.2013, 12:58:51
- - marcinek37   czyli muszę korzystać z DOMDocument oraz DOMXPath,...   11.04.2013, 15:25:13
- - zegarek84   z PHP tak na szybko to przeczytaj sobie np. to: ht...   11.04.2013, 17:24:50
- - marcinek37   troszkę ciekawych informacji z tego linka wyciągną...   11.04.2013, 23:01:47
|- - zegarek84   Cytat(marcinek37 @ 12.04.2013, 00:01...   11.04.2013, 23:21:19
- - marcinek37   1. wydaje się, że to ta metoda: createElement prze...   12.04.2013, 01:04:14
- - zegarek84   HTML nie zawsze jest poprawnym dokumentem XML ;] -...   12.04.2013, 11:51:23
- - marcinek37   bardzo dziękuję za informacje szkoda tylko, że tr...   12.04.2013, 11:56:27
- - zegarek84   poprawiłem powyższy kod - xpath nie musisz używać ...   12.04.2013, 12:16:14
- - marcinek37   na razie nie chcę korzystać z DOMXPath, a skupić s...   12.04.2013, 15:45:21
- - zegarek84   przecież napisałem Ci wyżej, iż .load służy do wcz...   12.04.2013, 16:46:21
- - marcinek37   przepraszam, źle odczytałem Twoje wskazówki, jest ...   12.04.2013, 17:28:25
- - zegarek84   nie jestem z zawodu programistą ale dawniej do par...   12.04.2013, 21:24:10
- - marcinek37   przepraszam, że odpisuję Ci dopiero teraz, ale cał...   14.04.2013, 23:12:43


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: 6.10.2025 - 21:11