Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [XML] i [php] Eksport z wielu plików XML do tabeli MySQL.
ZooMaS
post 22.08.2006, 11:52:55
Post #1





Grupa: Zarejestrowani
Postów: 4
Pomógł: 0
Dołączył: 21.08.2006

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


Witam, mam następujący problem, otórz jestem kompletnie zielony w XML i troszke mniej zielony w php oraz mysql i muszę wykonać konwersje bazy danych z xml do mysql. Wygląda to tak, że mam około 2000 plików xmp, każdy z nich zawiera dane o jednym kliencie (Data rejestracji, Imię i Nazwisko, Firma, 4 linie adresu, kod pocztowy, email, telefon, 2 linie czy chce dostawać subskrypcje czyli yes/no, oraz info gdzie o nas usłyszał) i potrzebuję to przerzucić do bazy danych mysql, a nie uśmiecha mi się ręcznie linia po linie tego robić używając Navicata na przykład. Czy mógłybm po prosić, któregoś z bardziej doświadczonych kolegów o napisanie dla mnie skryptu czytającego te dane?

  1. <?php
  2.  
  3. $sql = mysql_connect(localhost, root, admin);
  4.  
  5. $a=1000;
  6. while($a<2171)
  7. {
  8.  
  9. $doc = DOMDocument::load('xml/subscriber','$a','.xml');
  10. $xpath = new DOMXPath($doc);
  11. $subscribers = $xpath->query('SubscriberRecord');
  12. foreach($subscribers as $SubscriberRecord) {
  13. $query = 'INSERT INTO subscribers SET
  14. `id` = ' . $xpath->query('id/text()', $subscriber)->item(0) . '
  15. `date` = ' . mysql_real_escape_string($xpath->query('date/text()', $subscriber)->item(0)) . '
  16. `name` = ' . mysql_real_escape_string($xpath->query('name/text()', $subscriber)->item(0)) . '
  17. `company` = ' . mysql_real_escape_string($xpath->query('company/text()', $subscriber)->item(0)) . '
  18. `AddresLine1` = ' . mysql_real_escape_string($xpath->query('AddresLine1/text()', $subscriber)->item(0)) . '
  19. `AddresLine2` = ' . mysql_real_escape_string($xpath->query('AddresLine2/text()', $subscriber)->item(0)) . '
  20. `AddresLine3` = ' . mysql_real_escape_string($xpath->query('AddresLine3/text()', $subscriber)->item(0)) . '
  21. `AddresLine4` = ' . mysql_real_escape_string($xpath->query('AddresLine4/text()', $subscriber)->item(0)) . '
  22. `PostCode` = ' . mysql_real_escape_string($xpath->query('PostCode/text()', $subscriber)->item(0)) . '
  23. `email` = ' . mysql_real_escape_string($xpath->query('email/text()', $subscriber)->item(0)) . '
  24. `DayTimeTel` = ' . mysql_real_escape_string($xpath->query('DayTimeTel/text()', $subscriber)->item(0)) . '
  25. `SubscribeComputerDR` = ' . mysql_real_escape_string($xpath->query('SubscribeComputerDR/text()', $subscriber)->item(0)) . '
  26. `SubscribeCBC` = ' . mysql_real_escape_string($xpath->query('SubscribeCBC/text()', $subscriber)->item(0)) . '
  27. `HearAboutUs` = ' . mysql_real_escape_string($xpath->query('name/text()', $subscriber)->item(0)) . '
  28. $sql->query($query);
  29. }
  30.  
  31. $a++;
  32. }
  33.  
  34. mysql_close{$sql};
  35.  
  36. ?>


zmontowałem coś takiego ale niestety pojawia się błąd:
Parse error: parse error, unexpected $end in C:\Program Files\xampp\htdocs\xml to mysql.php on line 37.


Poniżej wklejam plik pierwszy plik XML z którego chciałbym importować dane (nazwa subscriber1000.xml, ostatni plik ma numer 2171):
  1. <?xml version="1.0"?>
  2. <SubscriberRecord>
  3. <SubscriptionDate>
  4. <Date>06/19/03</Date>
  5. </SubscriptionDate>
  6. <Contact index="1">
  7. <Name>John Wesley</Name>
  8. <Company>Unlimited LTD</Company>
  9. <AddressLine1>1 Abbots Close</AddressLine1>
  10. <AddressLine2>Avenue</AddressLine2>
  11. <AddressLine3>Leicester</AddressLine3>
  12. <AddressLine4>UK</AddressLine4>
  13. <Postcode>LE5 1EH</Postcode>
  14. <EmailAddress>ja_wesley@yahoo.co.uk</EmailAddress>
  15. <DayTimeTel>0116 2745609</DayTimeTel>
  16. </Contact>
  17. <Options>
  18. <SubscribeComputerDR>Yes</SubscribeComputerDR>
  19. <SubscribeCBC>Yes</SubscribeCBC>
  20. </Options>
  21. <Feedback>
  22. <HearAboutUs>radio</HearAboutUs>
  23. </Feedback>
  24. </SubscriberRecord>


Czy ktoś byłby w stanie mi pomóc? Z góry dziękuje.

Ten post edytował ZooMaS 22.08.2006, 11:56:50
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 Wersja Lo-Fi Aktualny czas: 13.08.2025 - 22:55