C# 如何在C中反序列化具有前缀的XML#
这是我的XMLC# 如何在C中反序列化具有前缀的XML#,c#,xml,xsd,xml-parsing,namespaces,C#,Xml,Xsd,Xml Parsing,Namespaces,这是我的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&l
<?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>
以及反序列化的代码
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);
它无法正确反序列化。有人能告诉我哪里做错了吗?套管:
[xmlement(Namespace=“example.org/ls”,ElementName=“status”)]
公共字符串状态{get;set;}
[xmlement(Namespace=“example.org/ls”,ElementName=“code”)]
公共字符串代码{get;set;}
[xmlement(Namespace=“example.org/ls”,ElementName=“message”)]
公共字符串消息{get;set;}
或(相同结果):
[xmlement(“status”,Namespace=“example.org/ls”)]
公共字符串状态{get;set;}
[xmlement(“code”,Namespace=“example.org/ls”)]
公共字符串代码{get;set;}
[xmlement(“message”,Namespace=“example.org/ls”)]
公共字符串消息{get;set;}
oops..抓得好。非常感谢。
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);