質問

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文字の空白よりも長い空白を変換しました。

これを防ぐ方法

役に立ちましたか?

解決

前に、混乱してしまいました(間違った答えを削除しました)。しかし、私はあなたが見ているように見えるものを再現することはできません。このプログラムを確認してください...スペースを保持します。

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表示の問題のみです。私が推測するフォントと関係がある。

notepad ++でXMLを開くと、実際に空白が適切に保持されていることがわかります。

WriteString()の代わりに、IEでの表示が重要な場合は、WriteCData()を使用してテキストをCDATAブロックで囲むことができます。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top