def check_enx_var(filePath)
result = ""
xmlFile = File.new(filePath)
xml = Document.new(xmlFile)
xml.elements.each("logic_environment/devices/device") do |dev|
dev.elements.each("parameters") do |paras|
paras.each_element_with_attribute('name') do |para|
if para.attributes['name'] == 'class' and (para.attributes['value'] == 'Ne' or para.attributes['value'] == 'Instru::Dev' or para.attributes['value'] == 'Instru::Eth::Chassis')
paras.each_element_with_attribute('name') do |para|
#获取dut的网元名
if para.attributes['name'] == 'objname'
dutName = para.attributes['value']
p dutName
if dutName !~ /(dut\d*)|(lsw\d*)|(rt\d*)|(dslam\d*)|(bas\d*)|(instruct\d*)/i
result += "#{dutName},"
end
end
end
#获取接口的网元名
dev.elements.each("devices/device/parameters") do |paras|
paras.each_element_with_attribute('name') do |para|
if para.attributes['name'] == 'class' and para.attributes['value'] == 'Port'
paras.each_element_with_attribute('name') do |para|
#获取接口的网元名
if para.attributes['name'] == 'objname'
portName = para.attributes['value']
p portName
result += "#{portName}," if portName !~ /port\d+_[a-z]+\d*_to[A-Z][a-z]+\d*/
end
end
end
end
end
end
end
end
end
xml.elements.each("logic_environment/links/link/parameter") do |para|
if para.attributes['name'] == 'objname'
linkName = para.attributes['value']
p linkName
result += "#{linkName}," if linkName !~ /connect\d+/
end
end
xmlFile.close
if result != ""
result = result.chop + "命名不合规范。"
return result
else
return true
end
end
分享到:
相关推荐
本篇文章将详细探讨“Ruby XML封装好的操作XML对象”的知识点,通过分析`xml_parse.rb`这个文件,我们将了解到如何在Ruby中有效地处理XML。 首先,我们需要了解Ruby中两个主要的XML处理库:Nokogiri和REXML。...
标题 "用ruby读excel文件生成xml文件" 描述的是一项技术任务,即使用Ruby编程语言来处理Excel文件,并将其内容转换成XML格式。这在数据迁移、格式转换或与不支持Excel格式的应用程序进行数据交换时非常有用。Ruby库...
ruby对xml文件的解析,不是很全,应该还是有一定帮助的
Ruby XML Controller 是一个开源项目,专门用于处理 XML 数据,它利用了 Ruby 语言的强大和灵活性,以及 REXML 库来解析和操作 XML 文档。REXML 是 Ruby 的标准库之一,提供了一套完整的 XML 解析和操作工具,使得...
Ruby-HappyMapper是一个强大的库,专门用于处理XML数据,它为开发者提供了一种简洁、高效的途径,将XML文档转换为Ruby对象。这个库的核心理念是让解析和操作XML变得如同处理Ruby中的普通数据结构一样简单。在Ruby...
这个 Ruby gem 向 Nokogiri XML 节点添加了一个to_hash方法,允许我们将任意 XML 节点转换为 Ruby 哈希,并且还可以将它们序列化为 JSON。 这个 gem 还可以获取属性、处理指令和文档类型声明。 由此产生的哈希是...
这个Ruby宝石向Nokogiri XML节点添加了to_hash和to_json方法,从而使我们可以将任意XML节点序列化为JSON。 该gem还可以获取属性,注释,处理说明和doctype声明。 结果是罗word的,但完整的。 另外,在可能的情况...
Ruby-Ox是一个高效的XML解析器,它被设计用于在Ruby编程环境中快速、有效地处理XML文档。这个解析器的独特之处在于它的简洁性和速度,这得益于其底层的C语言实现,为Ruby提供了一个轻量级且高性能的接口来解析XML...
它不是 Ruby 的唯一 XML 库,但它是很受欢迎的一个,并且是用纯 Ruby 编写( NQXML 也是用 Ruby 编写的, 但 XMLParser 封装了用 C 编写的 Jade 库)。 在他的 REXML 概述中,Russell 评论道: 我有这样的问题:我不...
在当前IT行业的发展中,处理XML和XSLT以及XPath是数据交互和文本处理的基本技能,尤其在使用Ruby语言进行Web开发,比如Ruby on Rails框架时,掌握这些技能对于处理后端数据和前端展示至关重要。本篇教程将介绍如何在...
快速的XML解析器和Object marshaller作为Ruby gem。 安装 gem install ox 文献资料 说明文件: : 来源 GitHub存储库: : RubyGems仓库: : 支持 安全更新。 感兴趣的链接 用于在Ox,Nokogiri和LibXML之间进行...