Je suis en train d'ajouter un <EventRouter>
élément dans le code XML suivant:Comment mettre à jour un NodeSet
<EventRouters>
<EventRouter id="Important Events to Log File" class="com.cyclonecommerce.events2.router.LogFileRouter" active="true">
<Parameters file="../logs/%nodeName%_events.log"
rollOnStart="false" autoFlush="true"
maxFileSize="2M" maxBackupFiles="5"/>
<MetadataProcessorListRef ref="Messaging"/>
<EventFilterRef ref="Important"/>
</EventRouter>
<EventRouter id="Message Detail to Log File" class="com.cyclonecommerce.events2.router.LogFileRouter" active="false">
<Parameters file="../logs/%nodeName%_message_detail.log"
rollOnStart="true" autoFlush="true"
maxFileSize="2M" maxBackupFiles="5"/>
<MetadataProcessorListRef ref="Messaging"/>
<EventFilterRef ref="Message Detail"/>
</EventRouter>
</EventRouters>
Je suis en mesure d'ajouter un nœud à un ensemble de nœuds, mais après avoir sauvé le XML que je ne reçois pas la version actualisée XML Je veux:
require 'nokogiri'
if File.exist?('a.xml')
data = File.read("a.xml")
end
doc = Nokogiri::XML.parse data
doc2=doc.xpath("//EventRouters/EventRouter")
event_router = Nokogiri::XML::Node.new("EventRouter",doc)
event_router['id'] = "some"
param_node = Nokogiri::XML::Node.new("Parameters",doc)
param_node.content = "some content"
event_router << param_node
doc2<< event_router
File.open('test.xml', 'w') do |file|
file.print doc.to_xml
end
Qu'est-ce 'session_node '? Veuillez lire "[mcve]". Votre code doit démontrer le problème que vous posez. –
Veuillez réduire votre échantillon XML à la _bare minimum_ nécessaire pour démontrer ce que vous voulez. Tout ce qui va au-delà est distrait par la question. Sur la base de cela, montrez un exemple de ce que votre sortie devrait être. Stack Overflow est une référence en ligne et votre question est d'aider les autres à résoudre ce problème à l'avenir, afin que les questions claires et complètes soient importantes. –
@theTinMan: correction du code – muski