Zeichen innerhalb CDATA ersetzen
Mr.Fresh
- xml
Hallo,
ich will innerhalb eines XML in allen CDATA Bereichen chr(10)
mit 

ersetzen. Komme aber mit dem REGEX nicht zurecht. Kann mir jemand helfen?
Danke,
Mr.Fresh
Tach!
ich will innerhalb eines XML in allen CDATA Bereichen
chr(10)
mit

ersetzen. Komme aber mit dem REGEX nicht zurecht. Kann mir jemand helfen?
XML kennt keine regulären Expressions. Ansonsten sind mir zwei RegExp-Systeme bekannt. Welche Programmierumgebung verwendest du und wie sieht dein Versuch aus?
dedlfix.
Ich glaube er sieht das XML als String und will dann in dem alles ersetzen was in einem CDATA Abschnitt steht.
Hab aber von regex nicht so die Ahnung dass ich da jetzt was gescheites raten könnte.
Tach!
Ich glaube er sieht das XML als String und will dann in dem alles ersetzen was in einem CDATA Abschnitt steht.
Schon klar, aber in welcher Programmiersprache respektive RegExp-Syntax hätte er gern Hinweise zur Lösungsfindung?
Hab aber von regex nicht so die Ahnung dass ich da jetzt was gescheites raten könnte.
Ich bin mir grad nicht sicher, ob es sinnvoll ist, allein mit einem RegExp alle Vorkommen finden zu wollen, oder ob man nicht lieber zunächst die CDATA-Teile findet und dann darin die NCRs sucht - also ein RegExp für CDATA und in dessen Ersetzungs-Callback ein RegExp plus Ersetzung für die NCRs eingebettet.
dedlfix.
ich will innerhalb eines XML in allen CDATA Bereichen
chr(10)
mit

ersetzen. Komme aber mit dem REGEX nicht zurecht. Kann mir jemand helfen?
Die Frage ist mangelhaft, du sagst nichts über die Software, die du einsetzt.
Benutze einen XML-Parser, um die CDATA-Abschnitte zu finden. Der Ersetzungsausdruck lautet in Perl:
use charnames qw(:full);
$cdata =~ s/\N{NEW LINE}/
/
und in JavaScript:
cdata.replace("\u000a", "
")