13 Stimmen

Bild in Xml-Datei einfügen mit c#

Ich habe überall nach der Antwort auf diese Frage gesucht, kann aber nichts finden und hoffe, dass ihr mir hier helfen könnt.

Grundsätzlich möchte ich ein Bild in ein Element in Xml-Dokument einfügen, das ich mit c# habe

Ich verstehe, dass ich sie in Bytes umwandeln muss, aber ich bin mir nicht sicher, wie ich dies tun und sie dann in das richtige Element einfügen soll...

Bitte helfen Sie mir, ich bin ein Neuling

16voto

OJ. Punkte 28189
  1. Lesen Sie alle Bytes in den Speicher mit File.ReadAllBytes() .
  2. Konvertiert die Bytes in eine Base64-Zeichenfolge mit Convert.ToBase64String() .
  3. Schreiben Sie die Base64-kodierte Zeichenfolge in Inhalt Ihres Elements.

Doneski!

3voto

dzendras Punkte 4591

Hier ist ein Beispiel in C# für das Schreiben und Lesen von Bildern in/aus XML.

1voto

Emond Punkte 48911

Sie können eine CDATA Teil oder einfach alle Bytes in ihrer hexadezimalen Form als Zeichenkette eingeben. Eine andere Möglichkeit ist eine base64-Kodierung verwenden

Welches Element Sie verwenden, bleibt Ihnen überlassen.

1voto

gbvb Punkte 870

http://www.dreamincode.net/code/snippet1335.htm scheint genau das zu tun, was Sie tun wollen. Es könnte etwas sein, das Sie vielleicht ausprobieren möchten. Beachten Sie, dass es in VB.NET ist, die Sie leicht in C# konvertieren können.

1voto

Michael Kay Punkte 146092

XML kann nur Zeichen enthalten, aber keine Bilder. Es gibt verschiedene Möglichkeiten, ein Bild mit Zeichen darzustellen, z. B. durch Kodierung des Bildes in PNG und anschließende Kodierung des PNG in base64; oder Sie könnten ein Element erzeugen, das einen Link zu einer URI enthält, von der das Bild abgerufen werden kann. Alle diese Konventionen müssen zwischen Absender und Empfänger vereinbart werden. Bevor Sie sich also auf die base64-Kodierung stürzen, sollten Sie prüfen, ob der Empfänger dies auch erwartet.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X