我想从 ASP.NET Core WEB API 中基于 XML 的 POST 请求中删除空 XML 标记。空 XML 标记困扰我使用XmlSerializerFormatters将 XML反序列化为模型。
<?xml version = "1.0" encoding="UTF-8"?>
<DetailAssessmentRequest>
<CaseId></CaseId>
...
<LeisureTimeActivities>
<LeisureTimeActivity>1</LeisureTimeActivity>
<LeisureTimeActivity/> //want to remove this
<LeisureTimeActivity>2</LeisureTimeActivity>
<LeisureTimeActivity/> //want to remove this
</LeisureTimeActivities>
<LeisureTimeActivityOthers></LeisureTimeActivityOthers> //want to remove this
...
<Observation>Comments</Observation>
</DetailAssessmentRequest>
我已经在我的Startup.cs
services.AddMvc()
.AddXmlSerializerFormatters()
.AddXmlDataContractSerializerFormatters();
这是我的模型:
[Serializable]
public class DetailAssessmentRequest
{
public int CaseId { get; set; }
...
[XmlArray("LeisureTimeActivities"), DefaultValue(null)]
[XmlArrayItem("LeisureTimeActivity")]
public List<int> LeisureTimeActivities { get; set; }
public string LeisureTimeActivityOthers { get; set; }
...
public string Observation { get; set; }
}