나는 다음 XML 다음 C# 코드와클래스 속성을 xml 루트의 일부로 serialize하는 방법은 무엇입니까?
<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 출력이 변경되지 않습니다. 예를 들어 TimeStamp는 여전히 루트에 위치하지 않습니다 ... – mko
@mko - 그것은 나를 위해 작동합니다. –
코드를 붙여 넣을 수 있습니까? 내가 뭘 할지라도 나는 항상 같은 결과를 얻습니다. XmlFormatter 구성과 관련이 있습니까? – mko