我想解析我的XML文件.我需要计算属性并拥有它们的名称和价值......
require 'nokogiri'
f = File.open("file.xml")
doc = Nokogiri::XML(f)
f.close
p doc.xpath("/a/@*").count
Run Code Online (Sandbox Code Playgroud)
我想拥有属性列表.
我试过了 :
doc.attributes.each do |name,attr|
p name => attr.value
end
Run Code Online (Sandbox Code Playgroud)
但是错误:
in `<main>': undefined method `attributes' for #<Nokogiri::XML::Document:0x3490680> (NoMethodError)
Run Code Online (Sandbox Code Playgroud)
我不知道为什么......
<a ata="1" atb="2" atc="3">Blabla</a>
Run Code Online (Sandbox Code Playgroud)
或者我希望能够得到这个名字.喜欢 :
puts doc.xpath("/a/@*").attributes[1].name
puts doc.xpath("/a/@*").attributes[1].value
Run Code Online (Sandbox Code Playgroud)
拥有第一个属性的名称和值.但是,当然,这些线路不起作用!
谢谢.
我有许多具有许多对象的类,我想对这些对象(不同的不相关类)应用一个方法
例:
pig = animal.new
pig.name = "lulu"
human = person.new
human.firstname = "John" #There isn't method called "name".
def seeName
puts self.name if (self.name?)
puts self.firstname if (self.firstname?)
end
pig.seeName
human.seeName
Run Code Online (Sandbox Code Playgroud)
这只是一个例子......我认为这是不可能的,但我正在寻找一种方法来做到这一点,而无需修改任何现有的类.
谢谢.