Hallo,
ich bin leicht am verzweifeln bei der Suche nach einer Moeglichkeit mit Javascript und DOM ueberfluessige leerzeichen zu entfernen und ebenso zeilenumbrueche innerhalb von text knoten in xml dokumenten. Zb:
<text>Hier is ein Text mit Zeilen
umbruch und vielen Leerzeichen</text>
Ich hatte mir auf Basis verschiedener seite eine solche funktion zusammengestellt:
cleanWhitespace: function (node) {
var notWhitespace = new RegExp("\S");
var doubleSpace = new RegExp("\s+$");
for (var x = 0; x < node.childNodes.length; x++) {
var childNode = node.childNodes[x];
if ((childNode.nodeType == 3) &&(! notWhitespace.test(childNode.nodeValue))) {
node.removeChild(node.childNodes[x]);
x--
}else if ((childNode.nodeType == 3) && (doubleSpace.test(childNode.nodeValue))) {
var textNode = childNode.nodeValue.replace(doubleSpace, " ");
node.replaceChild(textNode, node.childNodes[x]);
}
if (childNode.nodeType == 1) {
cleanWhitespace(childNode);
}
}
},
Diese Funktion scheint whitespaces zu entfernen, der xml code bleibt aber weiterhin in dieser Form und wir nicht wie gewuenscht umgewandelt in:
<text>Hier is ein Text mit Zeilenumbruch und vielen Leerzeichen</text>
Kann mit jemand einen Tipp geben? Ich muss eine Loesung finden, die innerhalb von DOM ablaufen kann und auf Parser oder Serializer verzichtet, also keine Doc --> String --> Doc
Gruss, Andreas