Was ist ein guter Weg, um beliebige Text in XML auf einem menschenlesbaren Weg zu kodieren?

StackOverflow https://stackoverflow.com//questions/9608978

  •  09-12-2019
  •  | 
  •  

Frage

Was ich bisher habe, ist das Text in Cdata-Tags, und den Umgang mit der Möglichkeit von CDATA-Endungen, die im Text erscheinen, indem Sie es in mehrere benachbarte CDATAS aufteilen.

Ich bin mir nicht sicher, aber XML-Parsern können Neuerlinien in den CDATA-Tags nicht erhalten, korrigieren?Dies würde bedeuten, dass sie irgendwie entweichen ...

Ich möchte diese XML-Dateien mit perl generieren und mit C ++ (mit Expat), Java und C # analysieren.

Am wichtigsten ist, dass die resultierenden Dateien etwas menschlich lesbar / modifizierbar sind.Kennt jemand von einem Codierungsschema, das diese Bedürfnisse passt?Ich verwende dies, um Daten für eine Datenbank zu speichern, sodass es einen beliebigen Text akzeptieren muss, und beim Analysieren gibt den gleichen Text den gleichen Text an.

War es hilfreich?

Lösung

xml unterstützt dies bereits, Sie müssen nichts Besonderes tun, und Sie müssen sicher nicht CDATA verwenden.Verwenden Sie einfach eine anständige Bibliothek, stellen Sie sicher, dass Sie UTF-8-Kodierungen verwenden, und fügen Sie einen Textknoten hinzu.Wenn etwas "Verlust" Newlines verliert, ist es ein Fehler.XML hat bereits eine "Kodierung" (Flucht), die relativ menschlich lesbar ist.Es ist auch Standard, der es viel nützlicher macht, als Ihre eigenen zu erfinden.

sehen, zum Beispiel https://stackoverflow.com/a/1140802/181772

Andere Tipps

Sie können den Inhalt codieren, wenn der Inhalt beispielsweise HTML war: generasacodicetagpre.

vs. generasacodicetagpre.

hmm, soweit ich CData-Abschnitte erzählen kann, sind Zeichendaten, und Steuerzeichen nicht zählen.Ich nehme davon aus, dass XML-Parser, dass XML-Parser, dass XML ein Urteilsaufruf macht, ob sie ein Kontrollzeichen sind oder nicht (historisch ja, aber pratisch ... nein.).

Während es die Lesbarkeit beeinträchtigen würde, können Sie Neuerlinien mithilfe von Escape-Sequenzen codieren. Angenommen, Sie können ordnungsgemäß austreten, das Analysieren sollte es ordnungsgemäß konvertieren, Sie müssen es nur beim Codieren hinweisen.

Eine andere Option, die vollständig gegen Ihre "human-lesbare" Anforderung verstößt, ist die Basis-64, um den Text zu kodieren. Dadurch können Sie beliebige Informationen in der XML codieren.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top