4 Stimmen

C# Objekt zu XML

Ich erstelle eine Anwendung, die erfordert, dass ein C#-Objekt in XML konvertiert wird.

Ich benutze die XML Serializer-Klasse, um dies zu erreichen. Hier ist der Codeausschnitt:

public class Anwer
{
    public int ID { get; set; }
    public string XML { get; set; }
    public Anwer(int ID, string XML)
    {
        this.ID = ID;
        this.XML = XML;
    }
    public Anwer() { }
}

Hier ist die Hauptfunktion:

   string AnswerXML = @"1";
   List answerList = new List();
   answerList.Add(new Anwer(1,AnswerXML));
   AnswerXML = @"2";
   answerList.Add(new Anwer(2, AnswerXML));
   XmlSerializer x = new XmlSerializer(answerList.GetType());
   x.Serialize(Console.Out, answerList);

Die Ausgabe ist:

    1
    <Answer>1<Answer>

    2
    <Answer>2<Answer>

In dem obigen Code werden '<' und '>' durch '<' und '>' ersetzt; Wie kann man das vermeiden? Ich weiß, dass string replace eine Möglichkeit ist, aber ich möchte es nicht verwenden.

Vielen Dank im Voraus.

0voto

Peter Punkte 489

Weil '<' und '>' Zeichen sind, die für die XML-Struktur selbst verwendet werden, werden sie automatisch htmlencodiert. Wenn Sie es in Ihrer App zurücklesen und deserialisieren, sollten die '<' und '>' wieder in '<' und '>' umgewandelt werden.

Wenn Ihr Ziel ein anderes ist, verwenden Sie die htmldecode-Funktionalität.

Wenn Ihnen das nicht hilft, sagen Sie einfach, was genau Sie mit den XML-Daten tun möchten.

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