में मैं REXML लाइब्रेरी का उपयोग कर रहा हूँ।पार्स XML दस्तावेज़ रूबी
<foo>
<baa>value<baa>
<foo>
मैं मूल्य प्राप्त करना चाहता हूं बा।
यह कैसे कोड करने के लिए?
में मैं REXML लाइब्रेरी का उपयोग कर रहा हूँ।पार्स XML दस्तावेज़ रूबी
<foo>
<baa>value<baa>
<foo>
मैं मूल्य प्राप्त करना चाहता हूं बा।
यह कैसे कोड करने के लिए?
इस
require 'rexml/document' doc = REXML::Document.new File.new('mydoc.xml') doc.elements('*/foo/baa') { |element| puts element.get_text }
मैं Nokogiri और Hpricot जवाहरात अपने आप को पसंद करते हैं की कोशिश करो। आप उन्हें कोशिश कर सकते हैं अगर आप चाहते हैं।
require 'rexml/document'
xml = <<-EOS
<foo>
<baa>value</baa>
</foo>
EOS
doc = REXML::Document.new(xml)
doc.root.elements.each("baa") { |element| p element.text }
यदि आप मूल्य एकत्र करना चाहते हैं तो आप to_a.map या इसके बजाय इंजेक्ट कर सकते हैं। REXML::ELements देखें।
ऋषव का समाधान मेरे लिए फेंकता है।
11:50:18 Temp$ ruby rx.rb rx.rb:5:in `elements': wrong number of arguments (1 for 0) (ArgumentError) from rx.rb:5 11:50:25 Temp$
यहाँ कुछ वैकल्पिक तरीकों हैं:
require 'rexml/document' doc = REXML::Document.new DATA doc.elements.each('//foo/baa') { |element| puts element.get_text } baas = REXML::XPath.each(doc, '//foo/baa/text()') {|txt| p txt} p baas __END__ <foo> <baa>value</baa> </foo>
मुझे लगता है अपने एक्सएमएल टैग समाप्त होने के साथ " मूल्य ", यानी माना जाता है। –