実現したいこと
ASP.NET Web API を使用して、POSTされたXMLデータをクラスに取り込みたい。
POSTされたBody値をXML形式で取得しようとすると変数が NULL になってしまい取得することができません。
クラスは、XMLの構造にあわせてデータクラスを作成しました。
検索するとJSON形式で取得する方法は出てくるのですが、XML形式で取得する方法を見つけることができません。
どなたかご存じの方いらっしゃいませんでしょうか?
お手数をおかけしますが、どうぞよろしくお願い致します。
参考にさせて頂いたサイト
・ASP.NET Web API 2 を利用してシンプルなWebAPI アプリケーションを作成する - ASP.NET プログラミング
https://www.ipentec.com/document/csharp-asp-net-web-api-2-create-simple-application
POST送信したXMLデータ
POST http://localhost:9000/Default Content-Type: application/xml Accept: application/xml <?xml version="1.0" encoding="UTF-8"?> <sample code="1.0"> <data> <id>100</id> </data> <value> <name>aaaa</name> <version>1.0.0</version> </value> </sample>
該当のソースコード
C#
1// データクラス 2[System.Xml.Serialization.XmlRoot("sample")] 3public class SampleData 4{ 5 [System.Xml.Serialization.XmlAttribute] 6 public string code; 7 8 [System.Xml.Serialization.XmlElement("data")] 9 public Data data; 10 11 [System.Xml.Serialization.XmlElement("value")] 12 public Value value; 13} 14 15public class Data 16{ 17 [System.Xml.Serialization.XmlElement("id")] 18 public string id; 19} 20 21public class Value 22{ 23 [System.Xml.Serialization.XmlElement("name")] 24 public string name; 25 26 [System.Xml.Serialization.XmlElement("version")] 27 public string version; 28} 29 30public class DefaultController : ApiController 31{ 32 public string Post([FromBody] SampleData value) 33 { 34 return "value"; 35 } 36}
補足情報(FW/ツールのバージョンなど)
Visual Studio Community 2019
C#
ASP.NET
Web API
Postman
回答1件
あなたの回答
tips
プレビュー