주제가 반복적 인 것으로 알고 있습니다. 이것은 XmlSerializer
에서 일하고있는 처음이 아니며이 문제가 없었습니다. 그러나이 시간 동안 나는 무슨 일이 일어나는지 전혀 모른다.지정된 패턴이 호출되었지만 효과가 없음 - 작동하지 않음 (XmlSerializer)
public string comp_addr01
{
get
{
return this.comp_addr01Field;
}
set
{
this.comp_addr01Field = value;
}
}
[XmlIgnore]
public bool comp_addr01Specified { get { return true; } }
테스트 한 결과 comp_add01Specified가 호출되었지만 xml 출력에는 표시되지 않았습니다.
[XmlElement(IsNullable = true)]
public string comp_addr01
{
get
{
return this.comp_addr01Field;
}
set
{
this.comp_addr01Field = value;
}
}
XmlElement(IsNullable = true)
을 추가하지만 때까지 일을하는 유일한 방법은 지금 <comp_addr01 xsi:nil="true" />
XSI : 전무 = "사실은"아직 표시됩니다 나는 그것이를 표시 할 필요가 없습니다. 이 모든 일들이 무엇이 일어나고 있는지 모르겠다.
실제로 문제가 무엇인지 분명하지 않습니다. comp_add01Specified는 XmlIgnore를 가지고 있기 때문에 xml에 포함되어서는 안됩니다. comp_addr01이 xml에 포함되지 않았습니까? IsNullable이 null 인 경우 항목이 작동하는 방식이므로 IsNullable 없이는 포함되지 않습니다. 널이 아닌 경우 포함됩니다. –
@TimRutter, 답장을 보내 주셔서 감사합니다. 요점은 comp_addr01이 값이 null인지 여부에 관계없이 항상 XML 파일에 표시되도록하려는 것입니다. 따라서 comp_addr01Sepcified를 사용하여 XmlSerializer에이 속성을 포함시켜야한다는 것을 알았습니다. comp_addr01Specified가 호출되었지만 comp_addr01이 null이 아닌 경우 표시되지 않습니다. 'XmlElement (IsNullable = true) '속성을 추가 한 후 comp_addr01이 나타나기 시작했습니다. 오해하지 않으면 이전에 같은 개념을 적용하고 XmlElement 특성없이 작업했습니다. 이것이 제가 질문을 올린 이유입니다. 어쩌면 나는 밖으로 sth를 놓친. –