XML 직렬 변환기 (DataContract
직렬화 기와 반대)에 의해 생성 된 XML을 반환하는 REStful WCF 서비스에서 작업하고 있습니다.WCF : XmlSerialization 특성이 루트 요소에 대해 무시되었습니다.
대부분의 개체는 올바르게 형식이 지정되지만 반환되는 루트 요소는 XML 직렬화 특성을 무시하는 것 같습니다.
예를 들어 리소스 /accounts/
은 내 AccountList 클래스 (그 자체로 일련 화해야하는 속성이있는 내 자신의 ObjectList<T>
클래스의 하위 클래스)의 XML 직렬화 표현을 반환합니다. 그러나 나는 원하는 결과를 얻지 못하고있다. 여기
[XmlRoot("accounts")]
public class AccountList : ObjectList<Account> {
}
public class ObjectList<T> : List<T> {
[XmlAttribute("foo")]
public Int32 FooProperty { get; set; }
}
[OperationContract]
[WebGet(UriTemplate="/accounts")]
public AccountList GetAccounts() {
return new AccountList() {
new Account("bilbo baggins"),
new Account("steve ballmer")
};
}
그리고 이것은 웹 서비스에서 반환되는 것입니다 :
이<arrayOfAccount>
<Account>
<name>biblo baggins</name>
</Account>
<Account>
<name>steve ballmer</name>
</Account>
</arrayOfAccount>
그래서 주요 문제는 AccountList 클래스에 내 원하는 직렬화가 무시되고 있는지 ("XmlElement ("name ")]을 사용하여 해당 속성을 소문자로 사용하는 방법을 알고 싶습니다.
고마워! 이 작업을하지만 방법에 다음 속성을 추가하려고합니다
아니요, 전혀 작동하지 않았습니다. – Dai
그래, [return : *] 속성이 너무 좋아지지 않는 것 같습니다. – alexdej