2008-10-15 89 views
0

我正在用C#編寫XML文檔。使用XmlTextWriter.WriteString保留字符串中的空格

我有這樣的事情......

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

,我做到這一點...

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

和XML元素原來是這樣......

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

它已經基本上將長度大於1的空白轉換爲空白的1個字符。

我該如何預防?

回答

0

對不起,以前感到困惑(刪除了錯誤的答案)。但我無法重現你看到的東西。檢查這個程序...它保留空格。

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(); 
    } 
} 
0

OK ......

這僅僅是一個IE瀏覽器顯示的問題。我猜想,這與字體有關。

當我在記事本++中打開XML時,我看到白色空間實際上得到了正確保存。

0

而不是WriteString(),如果在IE中顯示非常重要,則可以使用WriteCData()將文本括在CDATA塊中。

相關問題