我的目标:
>使用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
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。