Ich verliere signifikante Leerzeichen von einer Wiki-Seite, die ich analysiere, und ich denke, dass es wegen des Parsers ist. Ich habe dies in meinem Groovy Skript:XMLParser isst meine Leerzeichen
@Grab(group='org.ccil.cowan.tagsoup', module='tagsoup', version='1.2')
def slurper = new XmlSlurper(new org.ccil.cowan.tagsoup.Parser())
slurper.keepWhitespace = true
inputStream.withStream{ doc = slurper.parse(it)
println "originalContent = " + doc.'**'.find{ [email protected] == 'editpageform' }.'**'.find { [email protected]=='originalContent'}[email protected]
}
Wo input von einer URL-GET-Anfrage initialisiert wird eine Zusammenfluß Wiki-Seite zu bearbeiten. Später im withInputStream Block, wo ich dies tun:
println "originalContent = " + doc.'**'.find{ [email protected] == 'editpageform' }.'**'.find { [email protected]=='originalContent'}[email protected]
Ich bemerke, alle ursprünglichen Inhalt der Seite seiner newlines abgezogen wird. Ich dachte ursprünglich, dass es eine serverseitige Sache ist, aber als ich ging, um die gleiche req in meinem Browser zu machen und Quelle zu sehen, konnte ich neue Zeilen im versteckten Parameter "originalContent" sehen. Gibt es eine einfache Möglichkeit, die Whitespace-Normalisierung zu deaktivieren und den Inhalt des Feldes zu erhalten? Das oben genannte wurde gegen eine interne Confluence-Wiki-Seite ausgeführt, könnte jedoch am ehesten beim Bearbeiten einer beliebigen Wiki-Seite korrigiert werden.
Aktualisiert oben ich einen Anruf auf „slurped.keepWhitespace = true“ in einem Versuch, Leerzeichen zu erhalten hinzugefügt, aber das immer noch nicht funktioniert. Ich denke diese Methode ist für Elemente und nicht für Attribute gedacht? Gibt es eine Möglichkeit, Flags auf dem zugrunde liegenden Java XMLParser einfach zu optimieren? Gibt es eine spezielle Einstellung für Leerzeichen in Attributwerten?
Das ist, was passiert, wenn Sie Ihre Parser halten hungrig ;-) (Es tut mir leid, ich konnte nicht widerstehen) – dasblinkenlight
Also, wenn Sie whitespache sagen, meinen Sie nur Zeilenumbrüche? Und wenn Sie sagen, dass die Newline-Teile nicht entfernt werden, werden sie nur konvertiert? Afaik XML hat nur Zeilenumbrüche für Zeilenumbrüche. – blackdrag
Ich glaube, es gibt ein Problem [in der Groovy JIRA] (http://jira.codehaus.org/browse/GROOVY-5360) –