일부 멤버 변수가 string
이고 값이 null
인 개체를 직렬화하려고합니다. 나는 그것을 원하지 않지만, 값 null
와XmlTextWriter 및 null 문자열
var writer = new XmlTextWriter(stream, Encoding.UTF8);
writer.Formatting = Formatting.Indented;
var s = new XmlSerializer(typeof(model.GetType()));
s.Serialize(writer, model);
문자열이 (분명히 행동을 것입니다) XML 파일에 표시되지 않습니다 : 는 다음 코드를 사용합니다. XmlTextWriter
클래스를 재정 의하여 XML null
문자열을 XML 파일에 표시하려면 어떻게해야합니까?
편집 : Xml 특성이 옵션이되지 않도록 직렬화해야하는 개체 모델을 수정할 수 없습니다.
답변 해 주셔서 감사합니다. 개체 모델을 수정할 수 없으므로이 솔루션을 사용할 수 없습니다. 이 제약 조건을 포함하도록 질문을 수정했습니다. – thumbmunkeys
@ x0r : 개체 컬렉션을 순환시키고 String으로 null 항목을 대체하십시오. 공백은 해결책이 아닙니다. 맞습니까? – Marco
그것은 해결책이 될 것입니다! 객체의 모음이 아니지만 객체의 트리가 더 많습니다. 따라서 리플렉션을 사용하여 트리를 탐색하고 모든 멤버 변수를 살펴보고 이러한 'null'문자열을 설정해야합니다. – thumbmunkeys