Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/262.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 为什么可以';我不能反序列化这个xml吗?_C#_Xml_Xml Serialization - Fatal编程技术网

C# 为什么可以';我不能反序列化这个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

我目前正在尝试以以下格式反序列化某些XML:

<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
内容来说,这并不是什么问题,只是为了防止您尝试反序列化其他元素


有关这方面的相关问题,请参见

非常感谢你们两位!为我节省了数小时您的两位传奇人物!非常感谢你们两位!为我节省了数小时您的两位传奇人物!