여기에 들어가 려하지 않는 이유 때문에 객체 유형을 webapi 컨트롤러에 매개 변수로 사용할 수 없습니다. 따라서 XmlDocument 등을 사용하여 xml 객체를 내 C# 객체로 비 직렬화하는 방법을 찾아야합니다.xml을 webapi에서 객체에 비 병렬화
는 여기에 지금까지이 작업은 다음과 같습니다
public void Post(HttpRequestMessage request)
{
var xmlDoc = new XmlDocument();
xmlDoc.Load(request.Content.ReadAsStreamAsync().Result);
using (XmlReader xmlReader = new XmlNodeReader(xmlDoc))
{
Object obj = new XmlSerializer(typeof(myObject)).Deserialize(xmlReader);
myObject scp = (myObject)obj;
}
}
불행하게도 그 던지고 오류. 아무도 내 개체에 내 XML을 deserialize 할 수있는 방법에 대한 제안을 제공 할 수 있습니까?
TIA
는 편집이 : 여기에 내가 역 직렬화하기 위해 노력하고있어 XML의 :
System.InvalidOperationException : 여기
<Student> <studentid>1234</studentid> <command>post</command> <posttype>charge</posttype> <transaction_description>This is a test post to the web api</transaction_description> <payment_type>CC</payment_type> <term_code>2013SPRING</term_code> <amount>432.75</amount> </Student>
을하고 내가지고있어 오류가있어 예상되지 않았습니다 . 생성 : 2014 년 3 월 19 일 20:18:58 GMT
System.InvalidOperationException : XML 문서 (1, 2)에 오류가 있습니다. ---> System.InvalidOperationException : 않았습니다. System.Xml.Serialization.XmlSerializer.Deserialize에서 Microsoft.Xml.Serialization.GeneratedAssembly.XmlSerializationReaderStudentChargePost.Read3_StudentChargePost() 내부 예외 스택 추적 --- 끝 --- (XmlReader를 XMLReader를, 문자열 인코딩 스타일, XmlDeserializationEvents 이벤트)에서
C에서 CashNetSSO.Controllers.API.StudentInformationPostController.Post (HttpRequestMessage 요청)에서 System.Xml.Serialization.XmlSerializer.Deserialize (스트림 스트림)
에서 : 컨트롤러 \ 프로젝트 \ \ CashNetSSO \ 개발 \ CashNetSSO \ CashNetSSO \ API \ StudentInformationPostController.cs : 23시 lambda_method (Closure, Object, Object []) at System.Web.Http.Controllers.ReflectedHttpActionDescriptor.ActionExecutor. System.Web.Http.Controllers.ReflectedHttpActionDescriptor.ActionExecutor.Execute에서 <> C_ DisplayClassf.b _9 (오브젝트 인스턴스 [] 오브젝트 methodParameters) System.Web에서 (오브젝트 인스턴스 [] 인수 개체). Http.Controllers.ReflectedHttpActionDescriptor. <> C_ DisplayClass5.b _4() System.Threading.Tasks.TaskHelpers.RunSynchronously [TResult]에서 (Func`1 FUNC, CancellationToken cancellationToken)
오류가 계속 발생합니다. 보내고있는 XML과받은 오류로 OP를 업데이트했습니다. –
@ChristopherJohnson, 대답을 업데이트했습니다. –
완벽한 ... 감사합니다. –