sql >> Database teknologi >  >> RDS >> Mysql

Parse Wiktionary XML-datadump til MySQL-database ved hjælp af PHP

Disse filer kan parses i PHP med XMLReader opererer på en compress.bzip2:// stream . Strukturen af ​​den fil, du har, er eksemplarisk (kigger ind i ca. de første 3000 elementer):

\-mediawiki (1) |-siteinfo (1) | |-sitename (1) | |-base (1) | |-generator (1) | |-case (1) | \-namespaces (1) | \-namespace (40) \-page (196) |-title (196) |-ns (196) |-id (196) |-restrictions (2) |-revision (196) | |-id (196) | |-parentid (194) | |-timestamp (196) | |-contributor (196) | | |-username (182) | | |-id (182) | | \-ip (14) | |-comment (183) | |-text (195) | |-sha1 (195) | |-model (195) | |-format (195) | \-minor (99) \-redirect (5)

Selve filen er lidt større, så det tager ret lang tid at behandle. Alternativt skal du ikke operere på XML-dumps, men blot importere SQL-dumps via mysql kommandolinjeværktøj. SQL-dumps er også tilgængelige på webstedet, se alle dump-formater for Engelsk Wiktionary :

Den samlede fil var en smule større med mere end 66 849 000 elementer:

\-mediawiki (1) |-siteinfo (1) | |-sitename (1) | |-base (1) | |-generator (1) | |-case (1) | \-namespaces (1) | \-namespace (40) \-page (3993913) |-title (3993913) |-ns (3993913) |-id (3993913) |-restrictions (552) |-revision (3993913) | |-id (3993913) | |-parentid (3572237) | |-timestamp (3993913) | |-contributor (3993913) | | |-username (3982087) | | |-id (3982087) | | \-ip (11824) | |-comment (3917241) | |-text (3993913) | |-sha1 (3993913) | |-model (3993913) | |-format (3993913) | \-minor (3384811) |-redirect (27340) \-DiscussionThreading (4698) |-ThreadSubject (4698) |-ThreadPage (4698) |-ThreadID (4698) |-ThreadAuthor (4698) |-ThreadEditStatus (4698) |-ThreadType (4698) |-ThreadSignature (4698) |-ThreadParent (3605) |-ThreadAncestor (3605) \-ThreadSummaryPage (11)


  1. Ikke i stand til at droppe felt i MariaDB/MySql-tabel med FOREIGN KEY

  2. SQL Server BCP eksportere beskadiget fil?

  3. Hvordan udtrækker jeg måned og år i en MySQL-dato og sammenligner dem?

  4. Brug accentfølsom primær nøgle i MySQL