Preserve weißen Raum in String mit XmlTextWriter.WriteString
-
03-07-2019 - |
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?
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.