Ho un generatore Nokogiri esistente e alcuni nodi xml in una stringa da un'altra origine. Come posso aggiungere questa stringa al mio builder?Come aggiungere una stringa XML a Nokogiri Builder
str = "<options><cc>true</cc></options>"
xml = Nokogiri::XML::Builder.new do |q|
q.query do |f|
f.name "awesome"
f.filter str
end
end
Questo sfugge str in qualcosa di simile:
xml.to_xml
=> "<?xml version=\"1.0\"?>\n<query>\n <name>awesome</name>\n <filter><options><cc>true</cc></options></filter>\n</query>\n"
ho trovato molte, molte cose simili, tra cui nidificazione costruttori e utilizzando l'operatore < <, ma non funziona niente per inserire un albero nodo XML completi in un blocco costruttore. Come posso trasformare quella stringa in nodi reali?
Lo sta facendo nel modo più difficile. Vedere la risposta fornita da @matt, che utilizza l'operatore ['<<'] (http://nokogiri.org/Nokogiri/XML/Builder.html#method-i-CCC) per aggiungere XML non elaborato. –
un aggiornamento nokogiri gem e un bundle più tardi e la sintassi @matt funziona alla grande. Non so cosa dire perché ho provato ad usare << tanti modi prima! – genkilabs
È una buona idea mantenere le tue gemme aggiornate nel mondo Ruby. Dove saremmo rimasti indietro rispetto al margine sanguinante in altre lingue, spesso è bene rimanere abbastanza aggiornati con Ruby. –