加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

使用Ruby在YAML文档中搜索/检查值

发布时间:2020-12-17 02:04:08 所属栏目:百科 来源:网络整理
导读:我的目标: 使用ypath / xpath检查yaml文档是否包含特定键的值 使用ypath / xpath选择指定键的值 文件yaml: app: name: xxx version: xxxdescription: author: name: xxx surname: xxx email: xxx@xxx.xx 检查了什么:* 谷歌 stackoverflow Ruby API(YAML :
我的目标:

>使用ypath / xpath检查yaml文档是否包含特定键的值
>使用ypath / xpath选择指定键的值

文件yaml:

app:
    name: xxx
    version: xxx
description:
    author:
        name: xxx
        surname: xxx
        email: xxx@xxx.xx

检查了什么:*

>谷歌
> stackoverflow
> Ruby API(YAML :: DBM作为其提供的方法之一是select)

例:

Module::Class.select('description/author/name')
Module::Class.select('*/name')
Module::Class.isset?('*/name')

解决方法

由于没有最新的YPath实现,我建议给ActiveSupport和Nokogiri一个机会:

yml = LOAD_YML_WITH_YOUR_PREFERRED_YAML_ENGINE

# ActiveSupport adds a to_xml method to Hash
xml = yml.to_xml(:root => 'yaml')

doc = Nokogiri::XML(xml)
doc.xpath("description/author/name").map do |name|
  puts [name['key'],name['value']]
end

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读