상황 : : 캐리지 리턴이 포함 된 XML을 deserialize 할 때 문자는 캐리지 리턴이 아닌 인쇄 할 수없는 문자 "상자"로 나타납니다.XML 캐리지 리턴의 비 직렬화로 인해 인쇄 할 수없는 문자가 발생합니다.
배경 : 여러 줄 입력란을 통해 수집 된 사용자 입력에는 텍스트 내의 캐리지 리턴이 포함됩니다. .NET XML serializer (아래의 스 니펫)를 사용하여이 텍스트 데이터를 XML에 유지합니다. 나중에 XML 데이터를 비 직렬화하고 다시 여러 줄 텍스트 상자에 바인딩 할 때 캐리지 리턴 문자는 인쇄 할 수없는 "상자"로 렌더링됩니다.
Windows에서 캐리지 리턴 + 줄 바꿈을 사용하여 줄의 끝을 알 수 있습니다. 나는 XML 직렬화가 데이터를 변경하고있을 가능성이 있다고 생각한다.
질문 : 어떤 생각을 어떻게 제대로 렌더링하려면 직렬화 된 캐리지 리턴을 얻을 수 있습니까? -Ed 사전에
감사합니다,
직렬화 코드 조각
Public Sub SaveApplicationOptions(ByVal AppOptions As ApplicationOptions) Implements IApplicationOptionsRepository.SaveApplicationOptions
Dim serializer As New XmlSerializer(GetType(ApplicationOptions))
Dim ApplicationOptionsFilename As String = ConfigurationManager.AppSettings("ApplicationOptionsXML")
Dim sw As New StreamWriter(ApplicationOptionsFilename)
serializer.Serialize(sw, AppOptions)
sw.Close()
sw.Dispose()
End Sub
+1 우수 답변입니다. 이 대답은 그것의 본질에 도달합니다. 내 XML이 다른 곳에서 사용될 것이고 인코딩 된 라인 피드 문자열 ( )이 다른 일부 소비자를 떠 넘길 것이기 때문에 선택한 대답만을 선택했습니다. 건배! –