الحفاظ على المساحة البيضاء في سلسلة مع XmlTextWriter.WriteString

StackOverflow https://stackoverflow.com/questions/205287

  •  03-07-2019
  •  | 
  •  

سؤال

وأنا أكتب وثيقة XML في C #.

ولدي شيء من هذا القبيل ...

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 طبيعة المساحة البيضاء.

وكيف يمكنني منع هذا؟

هل كانت مفيدة؟

المحلول

عذرا، حصل الخلط من قبل (حذف إجابة خاطئة). ولكن لا أستطيع أن إنتاج ما يبدو لك أن تكون رؤية. تحقق هذا البرنامج ... يستبقي مسافات.

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

نصائح أخرى

وOK ...

وهذه ليست سوى مشكلة عرض IE. أن تفعل شيئا مع الخط أعتقد.

وعندما فتح XML في المفكرة ++ أرى هو الحفاظ على المساحة البيضاء في الواقع بشكل صحيح.

وبدلا من WriteString () هل يمكن استخدام WriteCData () لإحاطة النص في كتلة CDATA إذا كان العرض في IE هو المهم.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top