トピックは繰り返しです。これは私が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)
[XmlElement(IsNullable = true)]
public string comp_addr01
{
get
{
return this.comp_addr01Field;
}
set
{
this.comp_addr01Field = value;
}
}
が、今<comp_addr01 xsi:nil="true" />
XSIを追加したとき
唯一の方法は、これまで働いている:=「true」にnilが表示され、まだ私はを示したことがそれを必要としません。この混乱が何であるかわからない
あなたの問題が実際にはっきりしていない。 comp_add01SpecifiedはXmlIgnoreを持っているのでxmlに含めてはいけません。 comp_addr01がxmlに含まれていないのですか? IsNullableがnullの場合、IsNullableなしではインクルードされません。ヌルでない場合は含まれます。 –
@TimRutter、ご返信ありがとうございます。ポイントは、値がnullであるかどうかにかかわらず、comp_addr01が常にXMLファイルに表示されるようにすることです。したがって、comp_addr01Sepcifiedを使用して、XmlSerializerにこのプロパティを含める必要があることを認識させました。 comp_addr01Specifiedが呼び出されましたが、comp_addr01はnullでない限り表示されません。 'XmlElement(IsNullable = true) 'という属性を追加した後、comp_addr01が表示され始めました。間違っていなければ、以前と同じコンセプトを適用し、XmlElement属性なしで作業しました。これが私が質問を投稿した理由です。たぶん私はsthを逃した。 –