小编Ale*_*ser的帖子

Nokogiri:列出属性名称和值?

我想解析我的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)

拥有第一个属性的名称和值.但是,当然,这些线路不起作用!

谢谢.

ruby nokogiri xml-parsing

6
推荐指数
1
解决办法
3709
查看次数

没有修改类的全局方法

我有许多具有许多对象的类,我想对这些对象(不同的不相关类)应用一个方法

例:

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)

这只是一个例子......我认为这是不可能的,但我正在寻找一种方法来做到这一点,而无需修改任何现有的类.

谢谢.

ruby

0
推荐指数
1
解决办法
52
查看次数

标签 统计

ruby ×2

nokogiri ×1

xml-parsing ×1