desbiger/db-converter

FIAS xml 转换为 MySQL

1.0 2016-10-15 16:10 UTC

This package is auto-updated.

Last update: 2024-09-16 00:21:48 UTC


README

一个轻量级库,用于将 FIAS 数据库从 XML 格式导出到 MySQL(以及未来可能的其他格式)。

优点

  • 可扩展性,通过接口轻松实现新的输出格式。
  • 固定的系统内存消耗(使用 SAX 解析器)。

要求

PHP 5.3+,需启用 DOM 和 XSL 模块。

使用方法

下载 XSD 方案和最新的 FIAS 完整数据库(XML 格式)。
http://fias.nalog.ru/Public/DownloadPage.aspx
将两个存档解压到指定文件夹,创建脚本,连接库并运行。

示例 import.php

<?php
require 'src/loader.php';

ini_set('memory_limit', '256M');

// Корректные пути
Address\Converter::$sourcePath = __DIR__ . '/import';
Address\Output\Output::$resourcesPath = __DIR__ . '/resources';
Address\Output\Output::$outputPath = __DIR__ . '/output';

// Для загрузки напрямую в базу
$dsn = 'mysql:host=localhost;dbname=database';
$dbUser = 'root';
$dbPass = '';
$options = array(PDO::MYSQL_ATTR_INIT_COMMAND => 'SET NAMES utf8');
$conn = new PDO($dsn, $dbUser, $dbPass, $options);
$output = new Address\Output\MySQL\ConnectionOutput($conn);

// Для дампа в файл
$output = new Address\Output\MySQL\DumpOutput();

Address\Converter::convert($output);

运行

C:\php\php.exe C:\address-db-converter\import.php