C# 为什么可以';我不能反序列化这个xml吗?
我目前正在尝试以以下格式反序列化某些XML:C# 为什么可以';我不能反序列化这个xml吗?,c#,xml,xml-serialization,C#,Xml,Xml Serialization,我目前正在尝试以以下格式反序列化某些XML: <content:encoded>![CDATA[... 然而,尽管XML总是有一个值,但代码中的属性总是null?内容是名称空间-编码是元素名称。因此,您的xmlementAttribute应该是: [XmlElement(Name="encoded", Namespace="<whatever namespace 'content' refers to in your XML>")] public string Cont
<content:encoded>![CDATA[...
然而,尽管XML总是有一个值,但代码中的属性总是
null
?内容
是名称空间-编码
是元素名称。因此,您的xmlementAttribute
应该是:
[XmlElement(Name="encoded", Namespace="<whatever namespace 'content' refers to in your XML>")]
public string Content { get; set; }
[xmlement(Name=“encoded”,Namespace=”“)]
公共字符串内容{get;set;}
内容
是名称空间-编码
是元素名称。因此,您的xmlementAttribute
应该是:
[XmlElement(Name="encoded", Namespace="<whatever namespace 'content' refers to in your XML>")]
public string Content { get; set; }
[xmlement(Name=“encoded”,Namespace=”“)]
公共字符串内容{get;set;}
内容在您的示例中是一个名称空间。元素名称实际上是编码的
,因此需要使用属性来标记属性:
[XmlElement("encoded", Namespace => "custom-content-namespace")]
public string Content { get; set; }
请注意,您将需要在包含的XML中声明名称空间:
<content:encoded xmlns:content="custom-content-namespace">![CDATA[...
![CDATA[。。。
这也意味着任何子节点都将以相同的名称空间作为前缀。对于CDATA
内容来说,这并不是什么问题,只是为了防止您尝试反序列化其他元素
有关此问题的相关问题,请参见示例中的content
是名称空间。您的元素名称实际上是编码的
,因此您需要使用属性标记您的属性:
[XmlElement("encoded", Namespace => "custom-content-namespace")]
public string Content { get; set; }
请注意,您将需要在包含的XML中声明名称空间:
<content:encoded xmlns:content="custom-content-namespace">![CDATA[...
![CDATA[。。。
这也意味着任何子节点都将以相同的名称空间作为前缀。对于CDATA
内容来说,这并不是什么问题,只是为了防止您尝试反序列化其他元素
有关这方面的相关问题,请参见非常感谢你们两位!为我节省了数小时您的两位传奇人物!非常感谢你们两位!为我节省了数小时您的两位传奇人物!