Разбор XML Ruby с помощью Nokogiri / XPath - PullRequest
0 голосов
/ 04 января 2011

У меня есть магазин shopify, с помощью которого я хочу автоматически обновлять уровни запасов вариантов продукта, используя живой XML-канал от оптовика, которого я использую.

Я учусь программировать (Ruby), и этоМой первый проект, но после изучения здесь я думаю, что он должен работать.

Используйте Ruby / Nokugiri для анализа XML-канала от оптового продавца, а затем Xpath, чтобы найти как уникальный код SKU варианта продукта, так иуровень запаса.

Каким-то образом мне нужно использовать этот SKU, чтобы вернуться к списку XML моего товара в магазине Shopify, и извлечь уникальный идентификатор варианта с помощью кода SKU.

Затем использовать что-то вродеgem builder для создания XML-формата, отвечающего потребностям магазина, а затем используйте curl для внесения изменений.Я предполагаю, что я повторяю этот процесс для каждого продукта?

Я знаю, что у Shopify есть ограничение в 300 вызовов, поэтому у меня есть статья о том, как добавить задержку в сценарий, но я чувствую, что вышеметод не самый простой способ сделать это?

С Shopify вам нужно применить обновление уровня запаса варианта к уникальным вариантным XML-файлам, поэтому мне нужно создать уникальный XML-файл / код и PUT против него/admin/variants/#[thevariantid].xml

Я с нетерпением жду попыток собрать это воедино и учиться в процессе, но я на правильном пути с этим?Есть ли более простые гемы, на которые мне стоит обратить внимание?

nb Я только недавно начал изучать Ruby, а потом отправлюсь в Rails.Я немного разбираюсь в XML и его структуре, поэтому с XPath можно найти все, что мне нужно.

Ответы [ 2 ]

3 голосов
/ 04 января 2011

Вы на правильном пути, но я бы использовал драгоценный камень shopify_api, чтобы поговорить с Shopify вместо того, чтобы формировать XML и URI самостоятельно: https://github.com/Shopify/shopify_api

В нашей вики есть статья , которая также может помочь вам в отношении ограничения вызовов API, но просто дайте мне знать, если вам нужно больше места - мы довольно гибкие, и ограничение действительно просто чтобы не дать сценариям сойти с ума и повлиять на обслуживание всех остальных.

0 голосов
/ 04 января 2011

Ваш предложенный путь кажется хорошим, за исключением того, что нет необходимости использовать гем 'builder', поскольку в Nokogiri встроено очень красивое XML-здание .

...