Nokogiri und XML-Formatierung beim Einfügen von Tags

8

Ich möchte Nokogiri verwenden, um Knoten in ein XML-Dokument einzufügen. Nokogiri verwendet die Klasse Nokogiri::XML::Builder , um neues XML einzufügen oder zu erstellen.

Wenn ich XML mit der Methode new erstelle, kann ich schönes, formatiertes XML erstellen:

%Vor%

gibt Folgendes aus:

%Vor%

Das ist großartig, aber was ich tun möchte, ist das Hinzufügen des obigen XML zu einem bestehenden Dokument, nicht das Erstellen eines neuen Dokuments. Gemäß der Nokogiri-Dokumentation kann dies mithilfe der with -Methode des Builders wie folgt durchgeführt werden:

%Vor%

Wenn ich das tue, wird das XML jedoch in eine einzige Zeile ohne Einrückung eingefügt. Es sieht so aus:

%Vor%

Fehle ich etwas, damit es richtig formatiert wird?

    
michaelmichael 07.10.2010, 21:35
quelle

1 Antwort

11

Finden Sie die Antwort in der Nokogiri-Mailingliste:

  

In XML können Leerzeichen berücksichtigt werden   sinnvoll. Wenn Sie ein Dokument analysieren   das enthält Leerzeichen,   libxml2 wird diesen Whitespace annehmen   Knoten sind sinnvoll und nicht   füge sie für dich ein.

     

Sie können libxml2 das Whitespace mitteilen   ist nicht sinnvoll, indem Sie die   "noblanks" -Flag zum Parser. Zu   demonstrieren, hier ist ein Beispiel dafür   reproduziert Ihren Fehler und macht dann was   Sie möchten:

%Vor%

Ausgabe:

%Vor%     
michaelmichael 08.10.2010, 14:47
quelle

Tags und Links