2013-10-31 4 views
0

나는 연재하려고하는 대상을 가지고 있습니다. 때로는 문제가되는 null 일 수있는 속성이 있습니다.XML 메시지에 Null 값을 직렬화합니다.

문제는 일단 XML 메시지를 보면 내 객체가 직렬화 되었으면 아래 줄이 보입니다.

<CostAmount d3p1:nil="true" xmlns:d3p1="http://www.w3.org/2001/XMLSchema-instance" /> 

나는 CostAmount 태그가 메시지에 전혀 포함되지 않도록하고 싶습니다.

나는 c# xml serialization doesn't write null 예제를 시도했지만 나에게 도움이되지 못했다.

편집 아래

은 위에서 언급 한 속성입니다. 나는 이것이 부분 수업이라고 언급해야한다. 이 부분 수업은 혼자서 만들었습니다. Entity 프레임 워크는 다른 부분 클래스를 만들었습니다. 엔티티 프레임 워크가 자동으로 생성하는 이슈 인 & 세트를 볼 수 있습니다.

 [XmlElement("dfCostAmount")] 
     public Double? CostAmount; 
     [XmlIgnore] 
     public bool CostAmountSpecified 
     { 
      get 
      { 
       return (CostAmount != null & CostAmount.HasValue); 
      } 
     } 
+0

당신은 당신의 코드를 게시 할 수 있습니까? – JMK

+0

확실한, 내 원래의 질문을 편집했습니다. – mHelpMe

+0

그리고 어떤 Serializer가 당신에게서 XML을 생성하고 있나요? – Ralf

답변

1

ShouldSerialize 패턴을 따르는 멤버를 구현할 수 있습니다. 위의 코드와 유사하지만 CostAmountSpecified 속성 대신 ShouldSerializeCostAmount 멤버를 구현합니다.

예 :

public bool ShouldSerializeCostAmount() 
{ 
    return CostAmount.HasValue;  
} 
+0

안녕 Neill 실제로 먼저 ShouldSerialize 패턴을 시도하고 그 중 하나를 작동하지 않았다. 나는이 문제가 엔티티 프레임 워크 자동 get & setters 생성과 관련이 있다고 생각한다. – mHelpMe

관련 문제