int
리스트를 포함하는 직렬화 된 오브젝트의 XML을 리턴하는 REST 서비스가 있습니다. 목적 코드는이 오브젝트를 생성하고 전송되는 XML 직렬화int리스트를 포함하고있는 오브젝트를 직렬화 해제
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Xml.Serialization;
namespace All.Tms.Dto
{
[XmlRoot(Namespace = "http://schemas.datacontract.org/2004/07/All.Tms.Dto")]
public class ReadSensorsForVehicleIdResponse
{
public List<int> sensorIdList { get; set; }
}
}
미만 :
<ReadSensorsForVehicleIdResponse xmlns="http://schemas.datacontract.org/2004/07/All.Tms.Dto" xmlns:i="http://www.w3.org/2001/XMLSchema-instance"><sensorIdList xmlns:a="http://schemas.microsoft.com/2003/10/Serialization/Arrays"><a:int>107</a:int></sensorIdList></ReadSensorsForVehicleIdResponse>
문제를 INT 값
<a:int>107</a:int>
직렬화 점이다
이로 인해 개체의 deserialize가 실패합니다. 나는 제대로
<int>107</int>
객체 직렬화에
<a:int>107</a:int>
을 변경하는 경우. 이 방법으로 int
값이 직렬화되는 이유가 있습니까?이 문제를 어떻게 해결할 수 있습니까? 여기
public static T Deserialize<T>(string xml) where T : class
{
var serializer = new XmlSerializer(typeof(T));
var stream = new MemoryStream(Encoding.UTF8.GetBytes(xml));
var reader = XmlReader.Create(stream);
return (T)serializer.Deserialize(reader);
}
위의 질문에 역 직렬화에 사용하는 코드를 추가했습니다. 이 코드는 프로젝트 전체에서 사용되며 사용자가 제안한 방법을 사용하여 비 직렬화 할 객체를 변경하는 데 많은 노력이 필요합니다. – user65439
나는 문제가있는 객체를 비 직렬화하는 함수에 대한 제안 된 솔루션을 구현했습니다. 제안 해 주셔서 감사합니다. +1 – user65439