Frage

Ich schreibe ein XML-Dokument in C #.

Ich habe so etwas wie dies ...

string output = "REAPP DUE  NO OF  M CASE NBR   APPL NBR      DATE  GRPS   M CASE NBR   APPL NBR      DATE  GRPS   _                                       _                                       _";

, und ich tue dies ...

        objXmlTextWriter.WriteStartElement("Case");
        objXmlTextWriter.WriteString(record);
        objXmlTextWriter.WriteEndElement();  

und das XML-Element dreht sich wie folgt aus ...

<Case>REAPP DUE NO OF REAPP DUE NO OF M CASE NBR APPL NBR DATE GRPS M CASE NBR APPL NBR DATE GRPS _ _ _ </Case>

Es ist im Grunde weißen Raum mit einer Länge von mehr als 1 bis 1 Zeichen des weißen Raumes umgewandelt.

Wie kann ich das verhindern?

War es hilfreich?

Lösung

Es wurde vor (die falsche Antwort gelöscht) verwechselt. Aber ich kann nicht reproduzieren, was Sie scheinen zu sehen zu sein. Überprüfen Sie dieses Programm ... es tut Räume bewahren.

class Program
{
    static void Main(string[] args)
    {

        XmlWriter w = XmlTextWriter.Create("./foo.xml");
        w.WriteStartElement("foo");
        w.WriteString(" THIS   HAS VARYING     SPACeS ");
        w.WriteEndElement();
        w.Close();

        StreamReader sr = new StreamReader("./foo.xml");
        Console.WriteLine(sr.ReadToEnd());
        Console.ReadKey();
    }
}

Andere Tipps

OK ...

Dies ist nur ein IE-Anzeigeproblem. Etwas zu tun mit der Schrift, denke ich.

Wenn ich die XML in Notepad öffnen ++ Ich sehe der weiße Raum tatsächlich richtig aufbewahrt wird.

Statt Write () Sie können writeCData () verwenden, um den Text in einem CDATA-Block einschließen, wenn Anzeige in IE wichtig ist.

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