我的xml如下:
<document>
<body>
<p>
<text>asdasdasdasd</text>
</p>
<text> </text>
<p>
<text>Bl abloa blasdasdasd</text>
</p>
</body>
</document>
所以我要做的是将body元素解析为字符串。
[XmlRoot(ElementName = "document")]
public class Document
{
[XmlElement(ElementName = "body")]
public string Body { get; set; }
}
我已经尝试过[XmlText]和不同的属性,例如[XmlText(Type = typeof(string))]
我正在尝试直接将其作为控制器方法中的参数来实现:
[AllowAnonymous]
[HttpPost]
[Route("")]
public async Task SearchResult([FromBody] SearchResultDataContract searchResult)
{
try
SearchResultDataContract是文档对象。
但是我还没有找到任何解决方案。
答案 0 :(得分:2)
[XmlRoot(ElementName = "document")]
public class Document
{
[XmlElement("body")]
public XmlElement Body { get; set; }
}
应该有效,只要我们谈论的是xhtml,而不是html。您无法直接处理string
,AFAIK-编码器不会相信您xml的格式总是会正确的-但它会信任XmlElement
。如果需要,您总是可以在两者之间添加一些填充。
答案 1 :(得分:0)
我设法通过使用以下命令创建自己的反序列化扩展来解决此问题: Deserialize element value as string although it contains mixed content