加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

如何在.NET中的反序列化期间指定XML序列化属性以支持命名空间前

发布时间:2020-12-16 08:06:29 所属栏目:百科 来源:网络整理
导读:我有一个以下XML: person xmlns:a="http://example.com" xmlns:b="http://sample.net" a:fNameJohn/a:fName a:lNameWayne/a:lName b:age37/b:age/person 如何在类上定义XML序列化属性以支持所描述的方案? 您需要使用 XmlElement属性的命名空间来指定每个字
我有一个以下XML:
<person xmlns:a="http://example.com" xmlns:b="http://sample.net">
    <a:fName>John</a:fName>
    <a:lName>Wayne</a:lName>
    <b:age>37</b:age>
</person>

如何在类上定义XML序列化属性以支持所描述的方案?

您需要使用 XmlElement属性的命名空间来指定每个字段需要的命名空间。这将允许您将字段与特定的命名空间相关联,但是您还需要公开一个返回类型 XmlNamespaceDeclarations的类的属性,以获取前缀关联。

请参阅下面的文档和示例:

[XmlRoot(ElementName="person")]
    public class Person
    {

        [XmlElement(Namespace="http://example.com")]
        public string fname;

        [XmlElement(Namespace="http://sample.com")]
        public string lname;

        [XmlNamespaceDeclarations]
        public XmlSerializerNamespaces xmlns = new XmlSerializerNamespaces();

        public Person()
        {
            xmlns.Add("a","http://example.com");
            xmlns.Add("b","http://sample.com");
        }
    }

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读