2012-04-02 5 views
0

Ich muss die XHTML-Quelle von einer Website greifen und speichern sie in einer XML-Datei, aber die XHTML enthält CDATA und da verschachtelte CDATA nicht erlaubt ist, bin ich mir nicht sicher, was zu tun ist. Gibt es dafür eine einfache Lösung oder gibt es eine einfache Möglichkeit, das xhtml in HTML umzuwandeln? Danke für jede Hilfe.Wie können Sie eine xhtml-Seite in xml CDATA speichern?

+3

Wenn es wohlgeformtes XHTML ist, warum lassen Sie es nicht einfach in das XML als XML-Fragment fallen? – biziclop

+0

Es muss für jetzt in CDATA enthalten sein, also ist der einzige Weg, dies zu bekommen, es irgendwie in HTML umzuwandeln? Wenn ja, kennen Sie eine einfache Methode mit Python vorzugsweise? – Shatnerz

+1

Also habe ich einen schnellen Hack gefunden, der scheint zu funktionieren, dank http://web-design.blogs.webucator.com/2010/11/20/nesting-cdata-blocks/ Ich habe gerade ersetzt '//]] 'mit' //]]]]> 'was reibungslos funktionierte. Ich würde dies in Antworten posten, aber anscheinend zu bald. – Shatnerz

Antwort

2

Das Einfügen von XML-Inhalt in CDATA-Abschnitte ist im Allgemeinen eine schlechte Idee (es ist ein Missbrauch von CDATA, für einen Anfang: indem Sie etwas in CDATA setzen, sagen Sie "es gibt kein Markup hier"). Nesting CDATA scheint doppelt schlecht. Aber du hast dich selbst in dieses Loch gebracht, und du bist entschlossen, dich tiefer einzugraben, damit du es schaffen kannst, wenn du es versuchst. Ersetzen Sie einfach die ]]>, die einen CDATA-Abschnitt mit ]]]><![CDATA[[ beendet.