【问题标题】:Ruby XML Parsing with Nokogiri/XPath使用 Nokogiri/XPath 进行 Ruby XML 解析
【发布时间】:2011-01-04 11:25:16
【问题描述】:

我有一个 shopify 商店,我想使用我使用的批发商提供的实时 xml 提要自动更新产品变体库存水平。

我正在学习编程(Ruby),这是我的第一个项目,但在研究了这里之后,我认为它应该如何工作。

使用 Ruby/Nokugiri 解析来自批发商的 XML 提要,然后使用 Xpath 来定位唯一的产品变体 SKU 代码和库存水平。

不知何故,我需要使用此 SKU 来引用我的 Shopify 商店产品 XML 列表,并使用 SKU 代码提取变体唯一 ID。

然后使用 builder gem 之类的东西来构建 shopify 需要的 XML 格式,然后使用 curl 来 PUT 更改。我猜我要为每个产品循环这个过程?

我知道 Shopify 只有 300 次调用限制,所以我有一篇关于在脚本中设置延迟的文章,但我觉得上述方法不是解决此问题的最简单方法?

使用 Shopify,您需要针对唯一的变体 xml 文件应用变体库存级别更新,因此我需要构建唯一的 xml 文件/代码并将其放在 /admin/variants/#[thevariantid].xml 中

我期待着尝试将这些放在一起并在此过程中学习,但我是否走在正确的轨道上?有没有我应该看的更简单的宝石?

n.b 我最近才开始学习 Ruby,之后将前往 Rails。我对 XML 及其结构有所了解,所以应该可以用 XPath 找到我需要的东西。

【问题讨论】:

    标签: ruby xml nokogiri shopify


    【解决方案1】:

    您在正确的轨道上,但我会使用 shopify_api gem 与 Shopify 进行对话,而不必自己形成 XML 和 URI:https://github.com/Shopify/shopify_api

    有一个article on our wiki 也可以帮助您解决 API 调用限制问题,但如果您需要更多空间,请告诉我 - 我们非常灵活,限制确实只是为了防止脚本变得疯狂并影响其他所有人的服务。

    【讨论】:

    • 谢谢爱德华。我取得了很好的进展,我决定将这两个文件解析到同一个表中 - 所以我目前有 shopify_id(这是变体 id,而不是产品 id)、shopify_sku(变体 sku),然后是我希望更新的正确库存水平Shopify 与。我已经使用 shopify_api gem 访问了我的商店,但是我看不到对变体 ID 运行查询的简单方法?只有具有 ShopifyAPI::Product 的产品。就获取数据库中的内容并将该库存应用于变体而言,最好的前进方式是什么?
    • 您好 Even4!在应用程序论坛上给我留言,我们会在那里跟进 :) forums.shopify.com/categories/9
    【解决方案2】:

    您建议的路径看起来不错,只是不需要使用“builder” gem,因为 Nokogiri 内置了一些 very nice XML-building

    【讨论】:

      猜你喜欢
      • 2013-03-21
      • 1970-01-01
      • 1970-01-01
      • 2018-05-03
      • 1970-01-01
      • 1970-01-01
      • 2021-01-20
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多