нужен скрипт для импорта товаров из ХМЛ-файлов в формате Яндекс.Маркет

12
K
На сайте с 23.10.2004
Offline
159
2855

Нужен скрипт на Php, который импортирует товары из Xml-базы товаров,

сделанной в формате Яндекс.Маркет.

(парсер Яндекс.Маркетовской Xml-базы, т.е. не базы их товаров, а базы

товаров сделанной в этом формате)

Где можно найти?..

[Удален]
#1

kravru, вопрос в том, что с этими данными сделать надо. Если просто запихать в MySQL - то такое пишется за несколько минут, но чье-то готовое вам вряд ли подойдет, т. е. процентов 90 кода - для конкретной структуры базы.

K
На сайте с 23.10.2004
Offline
159
#2
Interitus:
kravru, вопрос в том, что с этими данными сделать надо. Если просто запихать в MySQL - то такое пишется за несколько минут, но чье-то готовое вам вряд ли подойдет, т. е. процентов 90 кода - для конкретной структуры базы.

Ничего делать не надо, хватит "запихать в МайСКЛ" или даже просто значения переменным присвоить: переменная1=..., переменная2=..., ... (а уж в МайСКЛ я и сам запихаю)

Поля в основном одинаковые name, price, category, description (а для конкретной базы я и сам добавлю по аналогии)

А также список групп товаров (формат типа:

<category id="1">Группа</category>

<category id="15" parentId="1">Подгруппа группы с ид=1</category>,

...)

[Удален]
#3

Делается это очень просто с помощью XSLT.

Вот на этой странице пример как применить XSLT к XML-файлу:

http://php.rinet.ru/manual/en/function.xsl-xsltprocessor-transform-to-xml.php

Вот туториал по XSL:

http://www.w3schools.com/xsl/

Нужно создать XSL-файл, в котором написать SQL-запросы. Что-то вроде:

<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">

<xsl:output method="xml" omit-xml-declaration="yes"/>

<xsl:template match="/">

<xsl:apply-templates select="//category"/>

</xsl:template>

<xsl:template match="category">

INSERT INTO categories (id, parentId, name) VALUES (<xsl:value-of select="@id"/>, <xsl:value-of select="@parentId"/>, '<xsl:value-of select="."/>');</xsl:template>

</xsl:stylesheet>

Соответственно в результате получите набор SQL запросов, которые заливаете в свою базу.

K
На сайте с 23.10.2004
Offline
159
#4
Interitus:
Делается это очень просто с помощью XSLT.
Нужно создать XSL-файл, в котором написать SQL-запросы.
Соответственно в результате получите набор SQL запросов, которые заливаете в свою базу.

Создал такой файл. А дальше что?

В броузере он открывается, а где прописать путь к XML-базе товаров?

[Удален]
#5

kravru, вот по ссылке на мануал php - пример самый первый. Там $xml->load("имя_файла") - таким образом загружается и парсится ваш xml-файл, затем xsl, затем оно преобразуется в то что надо.

Sergey Petrenko
На сайте с 23.10.2000
Offline
482
#6

Interitus, вместо обычного чтения из файла показать пример, как через XSLT в MySQL данные запихать - респект.

Вообще-то XSLT немного для другого придумывали :)

K
На сайте с 23.10.2004
Offline
159
#7
Interitus:
kravru, вот по ссылке на мануал php - пример самый первый. Там $xml->load("имя_файла") - таким образом загружается и парсится ваш xml-файл, затем xsl, затем оно преобразуется в то что надо.

а тут что должно быть: $xsl->load('???.xsl'); ?

K
На сайте с 23.10.2004
Offline
159
#8
Gray:
Вообще-то XSLT немного для другого придумывали :)

Подскажите свой вариант...

(или хотя бы наметки)

[Удален]
#9

а тут что должно быть: $xsl->load('???.xsl'); ?

Надо xsl в файл сохранить, и вот в этой функции - его указать.


Вообще-то XSLT немного для другого придумывали

Ну придумывали может для другого :) но на практике гораздо удобнее именно XSL'ем сразу все в нужном формате вытаскивать, чем по DOM-дереву ходить, какие-то сложные циклы программировать.

harlot
На сайте с 21.10.2004
Offline
116
#10
Interitus:
Ну придумывали может для другого но на практике гораздо удобнее именно XSL'ем сразу все в нужном формате вытаскивать, чем по DOM-дереву ходить, какие-то сложные циклы программировать.

Золотые слова :)

Vive como si fueras a morir mañana y Aprende como si fueras a vivir para Siempre.
12

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий