我的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(类型= typeof运算(字符串))]
我想直接做,因为在我的控制器方法的参数:
[AllowAnonymous]
[HttpPost]
[Route("")]
public async Task SearchResult([FromBody] SearchResultDataContract searchResult)
{
try
是SearchResultDataContract是文档对象。
但我还没有设法找到任何解决方案。
[XmlRoot(ElementName = "document")]
public class Document
{
[XmlElement("body")]
public XmlElement Body { get; set; }
}
应该工作,只要我们正在谈论的XHTML,而不是HTML。你不能string
直接交易,据我所知 - 编码器就不会信任你,你的XML将始终很好地形成 - 但它相信XmlElement
。你总是可以补充一点,就是两者之间的衬层,如果需要的话。
我设法利用这个创造我自己的扩展反序列化,以解决这个问题:Deserialize element value as string although it contains mixed content