답변
그것은 예를 들어 기본적으로 WCF에 의해 사용됩니다. 비교를 위해 here을 참조하십시오.
개인적으로 나는 XmlSerializer
이 내부 유형을 수행 할 수 없다는 것을 싫어합니다. DataContractSerializer에는 이러한 문제가 없습니다. 또한 DataContractSerializer
은 제네릭과 같이 더 쉽습니다. 사람이 편집 가능한 XML 형식을 만들고 싶다면 이상적이지 않을 수 있습니다.
Maxim으로 지적했듯이 DataContractSerializer
은 예상했던 것과 약간 다른 동작을합니다. 개체를 deserialize하기 위해 생성자를 호출하지 않습니다. 어떤 이유로 든 초기화를해야하는 경우 [OnDeserializing]
속성을 사용할 수 있습니다. 나는이 같은 패턴을 사용 :
[DataContract]
public MyClass
{
public MyClass()
{
Initialize();
}
[OnDeserializing]
private OnDeserializing(StreamingContext context)
{
Initialize();
}
private void Initialize()
{
// Do stuff
}
}
은 마찬가지로, [OnDeserialized]
속성이 존재하고,뿐만 아니라 직렬화 버전.
DataContractSerializer를 사용하여 해당 생성자를 호출하지 않도록주의하십시오. –
좋은 지적입니다. 내가 알아 낸 바로 전에 시간에 나 혼란 스러웠다. :) – Thorarin
- 1. .NET의 직렬화 - Android의 직렬화 해제
- 2. .NET의 직렬화 및 난독 화
- 3. XML 직렬화 - XML 루트
- 4. XML 직렬화 및 비누 직렬화
- 5. DateTime XML 직렬화 역 직렬화
- 6. Xml 직렬화/직렬화 해제 문제
- 7. C++에서의 XML 직렬화/직렬화
- 8. .NET의 비 직렬화 중에 네임 스페이스 접두사를 지원하는 XML 직렬화 특성을 지정하려면 어떻게해야합니까?
- 9. .NET의 XML 바인딩 솔루션
- 10. .NET의 XML 디지털 서명
- 11. protobuf-net의 사용자 정의 직렬화/직렬화 해제 방법
- 12. .NET의 XML 직렬화가이 같은 XML 생성하기 위해 노력하고있어
- 13. .NET의 XML 직렬화는 대소 문자를 구분합니까?
- 14. C++의 XML 직렬화/직렬화 해제
- 15. 항목 당 XML 직렬화/직렬화 해제
- 16. C#의 XML 직렬화/역 직렬화
- 17. ActiveRecord 직렬화 가능 속성의 XML 직렬화 문제
- 18. 사용자 정의 XML 직렬화
- 19. XML 객체 역 직렬화
- 20. 개인 변수의 XML 직렬화
- 21. 일반화 된 XML 직렬화
- 22. XML 직렬화 부모 요소
- 23. AS3에서 XML 파일 직렬화
- 24. XML 역 직렬화
- 25. XML 직렬화 및 인코딩
- 26. XML 직렬화 -이
- 27. XML 직렬화 배열
- 28. 복잡한 XML 직렬화 질문
- 29. Monotouch - XML 직렬화
- 30. C#의 XML 직렬화
이 질문은 싫지만 XmlSerializer의 문제점은 무엇입니까? –
@sztomi : IEnumerable을 사용할 수 없다.은 나를 괴롭게한다. –