Пожалуйста, извините, что я не знаю ... Я знаю, что в Интернете есть много документации по этому поводу, но я все еще не понимаю.
Моя ситуация такова:
У меня есть XML-файл, который мне нужно импортировать и в конечном итоге заменять ежедневно.
<item>
<model>AA311-Pink</model>
<title>1122</title>
<price>19.43</price>
<category>cat</category>
<loc>/AA311.html</loc>
<image>/aa311.jpg</image>
<description>Item Info</description>
<weight>0.45</weight>
<option_type>Color-Color</option_type>
<option_value>Pink-Pink</option_value>
<suggested_retail>51.50</suggested_retail>
<special_handling/>
<manufacturer>Tantus</manufacturer>
<manufacturer_code>VB5074 and VB5067</manufacturer_code>
<packaging>Retail Packaging</packaging>
<in_stock>Yes</in_stock>
<lastupdated>2008-11-05 16:35:56</lastupdated>
Мне нужно автоматически изменить несколько имен столбцов и импортировать их в несколько таблиц в моей базе данных.
Например,
<item>
<products_model>AA315</products_model>
<products_name>name</products_name>
<price>19.43</price>
<category>cat</category>
<loc>/AA315.html</loc>
<products_image>aa315.jpg</products_image>
<products_description>info</products_description>
<products_weight>0.44</products_weight>
<option_type/>
<option_value/>
<products_price>51.50</products_price>
<special_handling/>
<manufactures_name>Tantus</manufactures_name>
<manufacturer_code>VA5104</manufacturer_code>
<packaging>Retail Packaging</packaging>
<products_status>Yes</products_status>
<products_last_modified>2008-11-05 16:35:27</products_last_modified>
А затем импортировать в БД MySQL
Столбцы: products_weight, products_model, products_image, products_price, products_last_modified
импортировать в таблицу 'продукты'
Столбцы: products_description, products_name
импортировать в таблицу product_description
А как насчет автоматически созданного product_id? Я могу отправить SQL-вывод структуры таблицы.
Я действительно нуждаюсь в помощи ... Я готов немного заплатить, если они захотят создать полностью автоматизированную процедуру для импорта этого файла в мою базу данных; Я использую Zen Cart для размещения своей корзины покупок.






Плата не требуется, Использование XML в MySQL 5.1 и 6.0 ответит на большинство ваших вопросов. Кроме того, вернитесь к началу и прочитайте всю страницу, вы можете многое сделать с XML и MySQL.
Вы должны прочитать об этом - загрузить XML в MySQL http://dev.mysql.com/doc/refman/5.5/en/load-xml.html
Это позволит вам сделать что-то вроде этого:
mysql> LOAD XML LOCAL INFILE 'items.xml'
-> INTO TABLE item
-> ROWS IDENTIFIED BY '<item>';
Да, спасибо, gx, http://web.archive.org/web/20100105150533/http://dev.mysql.com/tech-resources/articles/xml-in-mysql5.1-6.0.html#xml-5.1-importing сделал это за меня. Я использовал упомянутую здесь хранимую процедуру, однако в ней есть небольшая ошибка, если вы хотите импортировать в другую таблицу, а не в t1. Просто замените строку
SET @ins_text = CONCAT('INSERT INTO t1 (', ins_list, ') VALUES (', val_list, ')');
с
SET @ins_text = CONCAT('INSERT INTO ', database_name, '.', table_name, ' (', ins_list, ') VALUES (', val_list, ')');
Выполните процедуру через
call xmldump_load('<filename>', '<schema>', '<tablename>');
Перед вызовом этой процедуры убедитесь, что файл для импорта доступен, например, в папке данных mysql (/ var / lib / mysql /), и выполните его с пользователем с предоставлением FILE.
Вопрос относился к MySQL версии 5.1, где
LOAD XMLне поддерживается.