我有一个来自外部源的 XML 文档。
<?xml version="1.0" encoding="utf-8"?>
<ns0:Info xmlns:ns0="http://www.ZomboCorp.com/">
<Name>Anthony</Name>
<Job>Developer</Job>
</ns0:Info>
我需要将其反序列化为这样的对象。
public class Info
{
public String Name { get; set; }
public String Job { get; set; }
}
按原样使用,Serializer
抛出一个InvalidOperationException
<Info xmlns='http://www.ZomboCorp.com/'>
没想到。
如果我添加[XmlElement(Namespace = "http://www.ZomboCorp.com/")]
对于类的定义,Serializer
返回一个新的Info
具有 null 属性的对象。
您还必须向每个属性添加 XmlElement 属性,并将 Namespace 属性设置为空字符串(因为在您的情况下不会继承命名空间)。
您对 Info 的定义应如下所示:
XmlRoot(Namespace = "http://www.ZomboCorp.com/")]
public class Info
{
[XmlElement(Namespace = "")]
public String Name { get; set; }
[XmlElement(Namespace = "")]
public String Job { get; set; }
}
然后它将正确反序列化。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)