[英]How to deserialize XML having prefix in C#
Here is my XML这是我的 XML
<?xml version="1.0" encoding="UTF-8"?>
<ls:LeadResponse xmlns:ls="example.org/ls">
<ls:status>OK</ls:status>
<ls:code>approved</ls:code>
<ls:message>posted</ls:message>
</ls:LeadResponse>
It has the prefix ls
everywhere.它到处都有前缀ls
。
I have done like this for deserialization我已经这样做了反序列化
Model created:创建的模型:
[XmlRoot(ElementName = "LeadResponse",Namespace="example.org/ls")]
public class LeadProviderResponse
{
[XmlElement(Namespace = "example.org/ls")]
public string Status { get; set; }
[XmlElement(Namespace = "example.org/ls")]
public string Code { get; set; }
[XmlElement(Namespace = "example.org/ls")]
public string Message { get; set; }
}
and the code for deserialization和反序列化的代码
using var streamReader = new StringReader(xmlContent);
using var xmlReader = XmlReader.Create(streamReader, null);
var serializer = new System.Xml.Serialization.XmlSerializer(typeof(LeadProviderResponse));
var result = (LeadProviderRespone)serializer.Deserialize(xmlReader);
It is not able to deserialize correctly.它无法正确反序列化。 Can anyone tell me where I am doing wrong?谁能告诉我我哪里做错了?
Casing:套管:
[XmlElement(Namespace = "example.org/ls", ElementName = "status")]
public string Status { get; set; }
[XmlElement(Namespace = "example.org/ls", ElementName = "code")]
public string Code { get; set; }
[XmlElement(Namespace = "example.org/ls", ElementName = "message")]
public string Message { get; set; }
or (same result):或(相同的结果):
[XmlElement("status", Namespace = "example.org/ls")]
public string Status { get; set; }
[XmlElement("code", Namespace = "example.org/ls")]
public string Code { get; set; }
[XmlElement("message", Namespace = "example.org/ls")]
public string Message { get; set; }
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.