2010-09-01 16 views
17

Sto tentando di aggiungere un attributo a un nodo Nokogiri esistente. Quello che ho fatto è questo:Come aggiungere un attributo al nodo Nokogiri?

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

ma ho l'errore:

TypeError Exception: wrong argument type String (expected Data) 

Che è un tipo di dati Data, e come posso aggiungere un attributo all'oggetto Nokogiri?

Grazie!

risposta

40

Credo che si dovrebbe solo bisogno di usare the []= method, vale a dire

node['foo'] = 'bar' 

Si potrebbe anche usare node.set_attribute('foo', 'bar').

+0

grazie, ma non funziona. qualche altra idea? –

+0

Questo è ciò che i docenti di Nokogiri dicono di fare. Sei sicuro che il tuo oggetto 'node' sia in realtà un' Nokogiri :: XML :: Element'? Qual è l'errore che hai ottenuto quando hai fatto 'node ['foo'] = 'bar''? – wuputah

+0

in realtà, hai ragione - è stato un errore da parte mia. greg - ti dispiace colpire la modifica e inviare sulla tua domanda in modo da poterlo invogliare? Grazie! –

Problemi correlati