Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP]DOM XML Zapisanie wyszukanej wartości do pliku XML - Błąd
DonPolaczek
post
Post #1





Grupa: Zarejestrowani
Postów: 64
Pomógł: 0
Dołączył: 19.01.2015

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


Witam serdecznie mam taki problem a mianowicie posiadam plik txt z którego wczytuję liste id którę maja zostać wyszukane w pliku xml i DOM XML elegancko mi wyszukuję te id ale nie możę wyświetlić całej reszty tego pliku XML po tym id wywala mi bład który umieścilem równiez poniżej:
  1. Fatal error: Call to undefined method DOMElement::saveXML() in C:\xampp\htdocs\ParserXML\test.php on line 20


  1. Lista-ID.txt:
  2. 29184
  3. 29183
  4. 29149
  5. 28890


Skrypt PHP:
  1. <?php
  2.  
  3. $lines = file('lista-id.txt', FILE_IGNORE_NEW_LINES | FILE_SKIP_EMPTY_LINES);;
  4. $xmlDoc = new DOMDocument('1.0', 'UTF-8');
  5. $xmlDoc->xmlStandalone = false;
  6. $xmlDoc->formatOutput = true;
  7. $xmlDoc->load('marynary.xml');
  8.  
  9. $searchNode = $xmlDoc->getElementsByTagName( "product" );
  10.  
  11.  
  12. foreach( $searchNode as $searchNode ) {
  13.  
  14. $valueID = $searchNode->getAttribute('id');
  15.  
  16. foreach ($lines as $line_num => $line) {
  17.  
  18. if ($valueID == $line) {
  19.  
  20. echo $searchNode->saveXML() . "\n";
  21.  
  22. }
  23.  
  24. }
  25.  
  26. }
  27.  
  28.  
  29. ?>


Fragment Pliku XML:
  1. <?xml version="1.0" encoding="UTF-8"?><offer file_format="IOF" generated="2015-09-03 13:08:24" xmlns="http://www.iai-shop.com/developers/iof.phtml" version="2.5" extensions="yes"><products language="pol" xmlns:iaiext="http://www.iai-shop.com/developers/iof/extensions.phtml"><product id="28853" currency="PLN"><producer id="1392111450" name="COOLBERG"/>
  2. <category id="1214553937" xml:lang="pol" name="A-Odzież Dla Niego/Marynarki męskie"/>
  3. <unit id="0" xml:lang="pol" name="szt."/>
  4. <series id="9" xml:lang="pol" name="MARYNARKA"/>
  5. <card url="http://www.denley.pl/product-pol-28853-Marynarka-meska-COOLBERG-606-K-granatowo-brazowa.html" />
  6. <description><name xml:lang="cze"><![CDATA[COOLBERG 606-K - GRANATOWO-BRĄZOWY]]></name>
  7. <name xml:lang="eng"><![CDATA[COOLBERG 606-K - GRANATOWO-BRĄZOWY]]></name>
  8. <name xml:lang="ger"><![CDATA[COOLBERG 606-K - GRANATOWO-BRĄZOWY]]></name>
  9. <name xml:lang="pol"><![CDATA[Marynarka męska COOLBERG 606-K granatowo-brązowa]]></name>
  10. <version name="GRANATOWO-BRĄZOWY" ><name xml:lang="cze"><![CDATA[NÁMOŘNÍ MODRO-HNĚDÁ]]></name>
  11. <name xml:lang="eng"><![CDATA[GRANATOWO-BRĄZOWY]]></name>
  12. <name xml:lang="ger"><![CDATA[GRANATOWO-BRĄZOWY]]></name>
  13. <name xml:lang="pol"><![CDATA[GRANATOWO-BRĄZOWY]]></name>
  14. </version>
  15. <long_desc xml:lang="cze"><![CDATA[
  16. <div id="projector-longdescription-description">
  17. <span class="tekst">
  18. <ul>
  19. <li>Oferowana marynarka jest nowa.</li>
  20. <li>Oryginalnie zapakowana z kompletem metek.</li>
  21. <li>Absolutny must have tego sezonu.</li>
  22. <li>Idealna na co dzień.</li>
  23.  
  24.  
  25. <li>Materiał: 15% Bawełna,85% Poliester</li>
  26. </ul>
  27. </span>
  28. <br/>
  29. </div>
  30.  
  31. <div id="projector-longdescription-table">
  32. <div class="rozmiar">
  33. <table class="wyrownanie">
  34. <tr>
  35. <td>
  36. <img class="lewo" src="http://www.denley.pl/data/include/cms/Wymiary/Wymiary/Wymiary.jpg"/>
  37. </td>
  38. <td>
  39. <table id="tabela">
  40. <tbody>
  41. <tr class="naglowek">
  42. <th class="inny_wygladnag" width="68 px"> </th><th class="wyglad_kolumna" width="68 px">M</th><th class="wyglad_kolumna" width="68 px">L</th><th class="wyglad_kolumna" width="68 px">XL</th><th class="wyglad_kolumna" width="68 px">XXL</th>
  43. </tr>
  44. <tr>
  45. <td class="inny_wyglad">A</td>
  46. <td class="inny_wyglad2">70</td>
  47. <td class="inny_wyglad2">72</td>
  48. <td class="inny_wyglad2">74</td>
  49. <td class="inny_wyglad2">76</td>
  50. </tr>
  51. <tr class="wiersz">
  52. <td class="inny_wyglad">B</td>
  53. <td class="inny_wyglad2">56</td>
  54. <td class="inny_wyglad2">58</td>
  55. <td class="inny_wyglad2">59</td>
  56. <td class="inny_wyglad2">61</td>
  57. </tr>
  58. <tr>
  59. <td class="inny_wyglad">C</td>
  60. <td class="inny_wyglad2">54</td>
  61. <td class="inny_wyglad2">56</td>
  62. <td class="inny_wyglad2">57</td>
  63. <td class="inny_wyglad2">58</td>
  64. </tr>
  65. <tr class="wiersz">
  66. <td class="inny_wyglad">D</td>
  67. <td class="inny_wyglad2">80</td>
  68. <td class="inny_wyglad2">81</td>
  69. <td class="inny_wyglad2">83</td>
  70. <td class="inny_wyglad2">84</td>
  71. </tr>
  72. <tr>
  73. <td class="inny_wyglad">E</td>
  74. <td class="inny_wyglad2">46</td>
  75. <td class="inny_wyglad2">47</td>
  76. <td class="inny_wyglad2">48</td>
  77. <td class="inny_wyglad2">49</td>
  78. </tr>
  79. </tbody>
  80. </table>
  81. </td>
  82. </tr>
  83.  
  84. </table>
  85. </div>
  86. </div>
  87. </div>]]></long_desc>
  88. <long_desc xml:lang="eng"><![CDATA[
  89. <div id="projector-longdescription-description">
  90. <span class="tekst">
  91. <ul>
  92. <li>Oferowana marynarka jest nowa.</li>
  93. <li>Oryginalnie zapakowana z kompletem metek.</li>
  94. <li>Absolutny must have tego sezonu.</li>
  95. <li>Idealna na co dzień.</li>
  96.  
  97.  
  98. <li>Materiał: 15% Bawełna,85% Poliester</li>
  99. </ul>
  100. </span>
  101. <br/>
  102. </div>
  103.  
  104. <div id="projector-longdescription-table">
  105. <div class="rozmiar">
  106. <table class="wyrownanie">
  107. <tr>
  108. <td>
  109. <img class="lewo" src="http://www.denley.pl/data/include/cms/Wymiary/Wymiary/Wymiary.jpg"/>
  110. </td>
  111. <td>
  112. <table id="tabela">
  113. <tbody>
  114. <tr class="naglowek">
  115. <th class="inny_wygladnag" width="68 px"> </th><th class="wyglad_kolumna" width="68 px">M</th><th class="wyglad_kolumna" width="68 px">L</th><th class="wyglad_kolumna" width="68 px">XL</th><th class="wyglad_kolumna" width="68 px">XXL</th>
  116. </tr>
  117. <tr>
  118. <td class="inny_wyglad">A</td>
  119. <td class="inny_wyglad2">70</td>
  120. <td class="inny_wyglad2">72</td>
  121. <td class="inny_wyglad2">74</td>
  122. <td class="inny_wyglad2">76</td>
  123. </tr>
  124. <tr class="wiersz">
  125. <td class="inny_wyglad">B</td>
  126. <td class="inny_wyglad2">56</td>
  127. <td class="inny_wyglad2">58</td>
  128. <td class="inny_wyglad2">59</td>
  129. <td class="inny_wyglad2">61</td>
  130. </tr>
  131. <tr>
  132. <td class="inny_wyglad">C</td>
  133. <td class="inny_wyglad2">54</td>
  134. <td class="inny_wyglad2">56</td>
  135. <td class="inny_wyglad2">57</td>
  136. <td class="inny_wyglad2">58</td>
  137. </tr>
  138. <tr class="wiersz">
  139. <td class="inny_wyglad">D</td>
  140. <td class="inny_wyglad2">80</td>
  141. <td class="inny_wyglad2">81</td>
  142. <td class="inny_wyglad2">83</td>
  143. <td class="inny_wyglad2">84</td>
  144. </tr>
  145. <tr>
  146. <td class="inny_wyglad">E</td>
  147. <td class="inny_wyglad2">46</td>
  148. <td class="inny_wyglad2">47</td>
  149. <td class="inny_wyglad2">48</td>
  150. <td class="inny_wyglad2">49</td>
  151. </tr>
  152. </tbody>
  153. </table>
  154. </td>
  155. </tr>
  156.  
  157. </table>
  158. </div>
  159. </div>
  160. </div>]]></long_desc>
  161. <long_desc xml:lang="ger"><![CDATA[
  162. <div id="projector-longdescription-description">
  163. <span class="tekst">
  164. <ul>
  165. <li>Oferowana marynarka jest nowa.</li>
  166. <li>Oryginalnie zapakowana z kompletem metek.</li>
  167. <li>Absolutny must have tego sezonu.</li>
  168. <li>Idealna na co dzień.</li>
  169.  
  170.  
  171. <li>Materiał: 15% Bawełna,85% Poliester</li>
  172. </ul>
  173. </span>
  174. <br/>
  175. </div>
  176.  
  177. <div id="projector-longdescription-table">
  178. <div class="rozmiar">
  179. <table class="wyrownanie">
  180. <tr>
  181. <td>
  182. <img class="lewo" src="http://www.denley.pl/data/include/cms/Wymiary/Wymiary/Wymiary.jpg"/>
  183. </td>
  184. <td>
  185. <table id="tabela">
  186. <tbody>
  187. <tr class="naglowek">
  188. <th class="inny_wygladnag" width="68 px"> </th><th class="wyglad_kolumna" width="68 px">M</th><th class="wyglad_kolumna" width="68 px">L</th><th class="wyglad_kolumna" width="68 px">XL</th><th class="wyglad_kolumna" width="68 px">XXL</th>
  189. </tr>
  190. <tr>
  191. <td class="inny_wyglad">A</td>
  192. <td class="inny_wyglad2">70</td>
  193. <td class="inny_wyglad2">72</td>
  194. <td class="inny_wyglad2">74</td>
  195. <td class="inny_wyglad2">76</td>
  196. </tr>
  197. <tr class="wiersz">
  198. <td class="inny_wyglad">B</td>
  199. <td class="inny_wyglad2">56</td>
  200. <td class="inny_wyglad2">58</td>
  201. <td class="inny_wyglad2">59</td>
  202. <td class="inny_wyglad2">61</td>
  203. </tr>
  204. <tr>
  205. <td class="inny_wyglad">C</td>
  206. <td class="inny_wyglad2">54</td>
  207. <td class="inny_wyglad2">56</td>
  208. <td class="inny_wyglad2">57</td>
  209. <td class="inny_wyglad2">58</td>
  210. </tr>
  211. <tr class="wiersz">
  212. <td class="inny_wyglad">D</td>
  213. <td class="inny_wyglad2">80</td>
  214. <td class="inny_wyglad2">81</td>
  215. <td class="inny_wyglad2">83</td>
  216. <td class="inny_wyglad2">84</td>
  217. </tr>
  218. <tr>
  219. <td class="inny_wyglad">E</td>
  220. <td class="inny_wyglad2">46</td>
  221. <td class="inny_wyglad2">47</td>
  222. <td class="inny_wyglad2">48</td>
  223. <td class="inny_wyglad2">49</td>
  224. </tr>
  225. </tbody>
  226. </table>
  227. </td>
  228. </tr>
  229.  
  230. </table>
  231. </div>
  232. </div>
  233. </div>]]></long_desc>

Chciałbym aby po tym danym id z listy została wyświetlona reszta pliku. I nie tylko text bo tak da się zrobić za pomocą nodevalue tylko cały xml. Czy ktoś jest w stanie mi pomóc?
Wywala taki błąd:
  1. Fatal error: Call to undefined method DOMElement::saveXML() in C:\xampp\htdocs\ParserXML\test.php on line 20


Ten post edytował DonPolaczek 9.09.2015, 11:16:45
Go to the top of the page
+Quote Post

Posty w temacie
- DonPolaczek   [PHP]DOM XML Zapisanie wyszukanej wartości do pliku XML - Błąd   9.09.2015, 11:11:57
- - nospor   CytatXM wywala mi bładTo naprawde taki tajny i pou...   9.09.2015, 11:19:13
- - DonPolaczek   Zobacz teraz dodałem już komunikat błędu wcześniej...   9.09.2015, 11:20:07
- - nospor   No to skoro chcesz uzyskac caly fragment to po grz...   9.09.2015, 11:22:10
- - DonPolaczek   No nie wiem czytałem na ten temat i nie ma takiej ...   9.09.2015, 11:27:28
- - nospor   Musisz sie zdecydowac czy chcesz zapisac czy wyswi...   9.09.2015, 11:32:43
- - DonPolaczek   No dobrze przyjmijmy że chcem wyświetlić i zrobiłe...   9.09.2015, 11:35:51
- - nospor   Masz uzyc saveHTML ale na Document a nie na Elemen...   9.09.2015, 11:51:02
- - DonPolaczek   W jakims sensie nie jako Element a Document coś w ...   10.09.2015, 11:30:18
- - Pyton_000   Przede wszystkim zmień nazwy: [PHP] pobierz, plain...   10.09.2015, 11:38:00
- - DonPolaczek   No dzięki zmieniłęm już a mogłbyś mi poradzić jako...   11.09.2015, 12:34:26
- - Pyton_000   Powiedz jeszcze raz co chcesz dokładnie osiągnąć.   11.09.2015, 12:55:03
- - DonPolaczek   a Więc tak wyszkuje z listy w txt id skrypt znajdu...   11.09.2015, 13:22:07
- - Pyton_000   [PHP] pobierz, plaintext <?php $lines = ...   11.09.2015, 13:58:07
- - DonPolaczek   Zrobiłem tak i wszystko jest okej ale kurdę zapisu...   11.09.2015, 15:10:16
- - Pyton_000   Przecież zapisujesz do tego samego pliku, co za ty...   11.09.2015, 15:55:26
- - DonPolaczek   W tym poprzedni co wysłałeś faktycznie tak było i ...   12.09.2015, 09:28:34


Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 3.10.2025 - 00:22