xmltextwriter.writestring을 사용하여 문자열로 공백을 보존하십시오

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

  •  03-07-2019
  •  | 
  •  

문제

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

다른 팁

확인...

이것은 IE 디스플레이 문제 일뿐입니다. 내가 생각하는 글꼴과 관련이 있습니다.

메모장 ++에서 XML을 열면 공백이 실제로 제대로 보존되어 있습니다.

writestring () 대신 writecData ()를 사용하여 IE의 표시가 중요하다면 CDATA 블록에 텍스트를 동봉 할 수 있습니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top