私は、次のC#コードでは、次のXMLクラスプロパティをxmlルートの一部としてシリアル化するにはどうすればよいですか?
<OTA_HotelResNotifRS xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://schemas.datacontract.org/2004/07/Connect.Domain.OTA_2014B.Reservations.OTA_HotelResNotifRS">
<HotelReservations>
<HotelReservation>
<ResGlobalInfo>
<HotelReservationIDs>
<OTA_HotelResNotifRSHotelReservationsHotelReservationResGlobalInfoHotelReservationID>
<ResID_Source>some_source</ResID_Source>
<ResID_Type>0</ResID_Type>
<ResID_Value>51550</ResID_Value>
</OTA_HotelResNotifRSHotelReservationsHotelReservationResGlobalInfoHotelReservationID>
</HotelReservationIDs>
</ResGlobalInfo>
</HotelReservation>
</HotelReservations>
<Success i:nil="true" />
<Target i:nil="true" />
<TimeStamp>0001-01-01T00:00:00</TimeStamp>
<Version>0</Version>
</OTA_HotelResNotifRS>
を持っています。
[System.ComponentModel.DesignerCategoryAttribute("code")]
[System.Xml.Serialization.XmlTypeAttribute(AnonymousType = true, Namespace =
"http://www.opentravel.org/OTA/2003/05")]
[System.Xml.Serialization.XmlRootAttribute(Namespace = "http://www.opentravel.org/OTA/2003/05", IsNullable = false)]
public partial class OTA_HotelResNotifRS
{
/// <remarks/>
public OTA_HotelResNotifRSHotelReservations HotelReservations
{
get; set;
}
/// <remarks/>
[System.Xml.Serialization.XmlAttributeAttribute()]
public System.DateTime TimeStamp
{
get; set;
}
}
タイムスタンプ、ターゲット、およびバージョンをルート要素に配置するにはどうすればよいですか? XmlAttributeの代わりにXmlRootAttributeを追加しようとしましたが、エラーが発生しています。
XmlAttributeを追加するとxml出力が変更されません。例えば、タイムスタンプはまだルートに配置されていません... – mko
@mko - それは私のために働く。 –
あなたのコードを貼り付けることができます。なぜなら私は何をしても同じ結果を得るからです。それはXmlFormatterの設定と関係がありますか? – mko