여기 System.Xml.Serialization.XmlSerializer와 현재, 내가 XML로 직렬화 해요 C# 클래스입니다 :XML 직렬화에서 개별 목록 구성원을 생략하는 방법은 무엇입니까?
public class Stuff
{
// ...
[XmlElement("things")]
public List<Thing> Things { get; set; }
}
제어 할 수있는 방법이 있나요, 직렬화시에, 각 개별 것 직렬화 여부 그 목록? (예를 들어, 각 Thing의 술어를 호출하여 포함해야하는지 여부를 결정하십시오.)
참고 : "ShouldSerialize *"트릭을 other questions에서 많이 읽었지만 프로퍼티 레벨 - 즉,리스트 전체를 직렬화하거나, 그것들 중 아무 것도 직렬화하지 않는다. 내가 원하는 것은 내 목록의 각 구성원에 대해 결정하는 것입니다. XmlSerializer가 더 좋은 방법이 있다면 솔루션에서 XmlSerializer를 사용할 필요가 없습니다.
고마워, 그게 나를 위해 일하는 것 같아. 속성을 제어하지만 목록 멤버가 아닌 것을 구분하는 것은 나에게 임의적이라고 느껴지지만 매우 자주 필요한 기능이 아닌 경우 합리적인 것처럼 보입니다. – user1454265