代码之家  ›  专栏  ›  技术社区  ›  ctrlShiftBryan

使用xmlTextWriter.WriteString保留字符串中的空白

  •  0
  • ctrlShiftBryan  · 技术社区  · 17 年前

    我正在用C编写一个XML文档。

    我有这样的东西…

    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个字符的空白。

    我该如何预防?

    3 回复  |  直到 17 年前
        1
  •  0
  •   Vinko Vrsalovic    17 年前

    抱歉,之前有点困惑(删除了错误的答案)。但我不能复制你所看到的。检查这个程序…它确实保留了空间。

    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();
        }
    }
    
        2
  •  0
  •   ctrlShiftBryan    17 年前

    好啊。。。

    这只是一个IE显示问题。我想和字体有关。

    当我在记事本++中打开XML时,我看到空白实际上被正确地保留了。

        3
  •  0
  •   ross    17 年前

    如果在IE中显示很重要,则可以使用writecdata()将文本括在cdata块中,而不是使用writestring()。

    推荐文章