2009-05-07 6 views
2

Ich benutze REXML, um eine XML-Datei zu bearbeiten, hatte aber Schwierigkeiten mit der Formatierung.REXML Formatierungsprobleme

Meine ursprüngliche Code sah wie folgt aus:

file = File.new(destination) 
    doc = REXML::Document.new file       

    doc.elements.each("configuration/continuity2") do |element| 
    element.attributes["islive"] = "true" 
    element.attributes["pagetitle"] = "#{@client.page_title}" 
    element.attributes["clientname"] = "#{@client.name}" 
    end 

    doc.elements.each("configuration/continuity2/plans") do |element| 
    element.attributes["storebasedir"] = "#{@client.store_dir}" 
    end 

ich zunächst den folgenden Code hinzufügen hatte als REXML einfache Anführungszeichen statt doppelte Anführungszeichen hinzugefügt wurde. Ich fand folgendes über Google:

REXML::Attribute.class_eval(%q^ 
    def to_string 
     %Q[#@expanded_name="#{to_s().gsub(/"/, '"')}"] 
    end 
    ^) 

Ich habe auch ein Problem, dass REXML das Dokument neu formatiert.
Gibt es Möglichkeiten, dies zu stoppen?

Antwort