require 'xml/libxml'
require 'libxml/document'
$release_date
doc=LibXML::XML::Parser.io(file.xml).parse
doc.root.each_element('//ABCD/xyz/') do |elem|
elem.each_element do |node|
node.each_element do |child|
if child.content=="ABCD"
$release_date=node['date']
else
if node['type']=="Original"
$release_date=node['date']
end
end
end
end
end
puts "Release date : #{$release_date}"
這是我已經寫提取根據從XML文件中的特定日期的代碼符合我的要求。我用的lib XML庫,但我得到了以下錯誤:庫的Xml紅寶石:錯誤`解析「:未定義的方法`讀」爲「file.xml」:字符串(NoMethodError)
`parse': undefined method `read' for "file.xml":String (NoMethodError)
'的libxml :: XML :: Parser.io(File.open( 「file.xml」)parse' –
文件=文件。打開(「filename.xml」) doc = LibXML :: XML :: Parser.io(文件).parse仍然收到錯誤:'each_element':錯誤的參數數量(1爲0)(ArgumentError) – Aayush
這是因爲'each_element '不接受任何參數:http://libxml.rubyforge.org/rdoc/classes/LibXML/XML/Node.html#M000252 –