2010-09-01 15 views
17

मैं एक मौजूदा नोकोगिरी नोड में एक विशेषता जोड़ने की कोशिश कर रहा हूं। क्या मेरे द्वारा की गई यह है:नोकोगिरी नोड में विशेषता कैसे जोड़ें?

node.attributes['foobar'] = Nokogiri::XML::Attr.new('foo', 'bar') 

लेकिन मैं त्रुटि मिलती है:

TypeError Exception: wrong argument type String (expected Data) 

एक Data डेटा प्रकार क्या है, और कैसे मैं Nokogiri वस्तु के लिए एक विशेषता जोड़ सकता हूँ?

धन्यवाद!

उत्तर

40

मेरा मानना ​​है कि आप सिर्फ the []= method उपयोग करने की आवश्यकता चाहिए, जैसे कि

node['foo'] = 'bar' 

तुम भी node.set_attribute('foo', 'bar') इस्तेमाल कर सकते हैं।

+0

धन्यवाद, लेकिन यह काम नहीं करता है। कोई अन्य विचार? –

+0

यह नोकोगिरी दस्तावेज़ कहता है। क्या आप सुनिश्चित हैं कि आपका 'नोड' ऑब्जेक्ट वास्तव में एक 'नोकोगिरी :: एक्सएमएल :: एलिमेंट' है? जब आपने 'नोड [' foo '] =' bar'' 'किया था तो आपको क्या त्रुटि मिली? – wuputah

+0

वास्तव में, आप सही हैं - यह मेरे हिस्से पर एक गलती थी। ग्रेग - क्या आप संपादित करते हैं और अपने प्रश्न पर जमा करते हैं तो मैं इसे ऊपर उठा सकता हूं? धन्यवाद! –

संबंधित मुद्दे