7
캐리지 리턴에 민감한 응용 프로그램이 \ r \ n 또는 \ n 있습니다. XML에서 값을 전달하고 XDocument를 사용하여 캐리지 리턴 값을 \ n으로 변환하고이를 \ r \ n으로 유지하는 방법을 찾으려고합니다.XDocument.Parse를 사용할 때 캐리지 리턴을 보존하십시오.
string myVal = "1234\r\nabcd";
string xmlText = "<doc>" + myVal + "</doc>";
XDocument xDoc = XDocument.Parse(xmlText);
Console.WriteLine("result=" + (xDoc.Element("doc").Value == myVal));
Console.WriteLine("result=" + (xDoc.Element("doc").Value == myVal.Replace("\r\n", "\n")));
결과 : XDocument.Parse에 LoadOptions.PreserveWhitespace 전달
result=False
result=True
예 기쁨없이 PreserveWhiteSpace 옵션을 시도했습니다. XmlReader에 대해 생각해 보았지만 문자열에 독자를 사용하는 것은 과도한 것처럼 보입니다. 우아한 방법이 없다면 아마 검색을 통해 얻을 것이고 Parse에서 얻은 값을 대체 할 것입니다. – sipwiz