public class Hat
{
[XmlTextAttribute]
public string Name { get; set; }
[XmlAttribute("Color")]
public string Color { get; set; }
}
var hat1 = new Hat {Name="Cool Hat", Color="Red"};
var hat2 = new Hat {Name="Funky Hat", Color=null};
이것은 내가 (통지 펑키 모자에 색상 속성이 누락) 무엇을 얻을직렬화 문자열 속성은
<Hats>
<Hat Color="Red">Cool Hat</Hat>
<Hat Color="">Funky Hat</Hat>
</Hats>
직렬화 기가 비워 두지 않고 비어있는 속성을 생성하도록하려면 어떻게해야합니까?
편집 :
내가 바보이고 내가 예를 들어, 코드를 단순화하고 싶었 기 때문에, 오류가 포함 된 예제를 만들어 낸다.
color 값이 ""(또는 string.empty)이면 실제로 빈 특성으로 직렬화됩니다. 그러나 실제로는 빈 문자열이 아닌 null 값을 가졌으므로 생략되었습니다.
그래서 내가 원하는 동작은 실제로 내가 만든 예제의 동작이었습니다.
죄송합니다.
_ "색상의 값이" "(또는 String.Empty로는), 그것은 빈 속성으로 실제로 직렬화 그러나, 나는 정말. 빈 문자열이 아닌 null 값을 가졌기 때문에 제외되었습니다. "_ 와우는 이전에이 동작을 알아 채지 못했습니다. 흥미로운 점. –