XML到C#类问题 [英] XML to C# Class Question

查看:124
本文介绍了XML到C#类问题的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

有人可以帮我,我有这样的XML片段

 <?XML版本=1.0编码= UTF-8>?; 
< EmailConfiguration>
< D​​ataBoxID> 123 LT; / DataBoxID>
< D​​efaultSendToAddressCollection>
<&EmailAddress的GT; email@whereEver.com< / EmailAddress的>
< / DefaultSendToAddressCollection>
< / EmailConfiguration>



我想从这个创建corressponding C#类。之前你说 - 只要用XSD.EXE,从XSD输出不能被序列化和反序列化正确的,因为它使用部分类生成类。



请你能告诉我如何建立这个类....这里是我采取的方法,但它不能正常工作。

 公共类EmailConfiguration 
{
私人字符串dataBoxID;

公共字符串DataBoxID
{
{返回dataBoxID; }
集合{dataBoxID =价值; }
}

私人DefaultSendToAddressCollectionClass defaultSendToAddressCollection;

公共DefaultSendToAddressCollectionClass DefaultSendToAddressCollection
{
{返回defaultSendToAddressCollection; }
集合{defaultSendToAddressCollection =价值; }
}
}



这里是类声明的子

 公共类DefaultSendToAddressCollectionClass 
{
私人的String [] EMAILADDRESS;
公共字符串[] EmailAddress的
{
{返回EMAILADDRESS; }
集合{EMAILADDRESS =价值; }
}
}


解决方案

最低限度工作......看起来像你只需要添加一个属性。

 公共类EmailConfiguration 
$ { b $ b酒店的公共字符串DataBoxID {搞定;组; }
公共DefaultSendToAddressCollectionClass DefaultSendToAddressCollection {搞定;组; }
}

公共类DefaultSendToAddressCollectionClass
{
[的XmlElement]
公共字符串[] {EmailAddress的获取;组; }
}


Can someone please help me, I have this xml snippet

<?xml version="1.0" encoding="utf-8" ?>
<EmailConfiguration>
  <DataBoxID>123</DataBoxID>
  <DefaultSendToAddressCollection>
     <EmailAddress>email@whereEver.com</EmailAddress>
  </DefaultSendToAddressCollection>
</EmailConfiguration>

I want to create a corressponding c# class from this. Before you say - "Just use xsd.exe", the output from Xsd cannot be serialized and deserialized correct, because it generates the class using partial classes.

Please can you tell me how to create this class.... here is the approach I took, but it doesn't work.

public class EmailConfiguration
{
    private string dataBoxID;

    public string DataBoxID
    {
        get { return dataBoxID; }
        set { dataBoxID = value; }
    }

    private DefaultSendToAddressCollectionClass defaultSendToAddressCollection;

    public DefaultSendToAddressCollectionClass DefaultSendToAddressCollection
    {
        get { return defaultSendToAddressCollection; }
        set { defaultSendToAddressCollection = value; }
    }
}

And here is the class declaration for the subclass

public class DefaultSendToAddressCollectionClass
{
    private string[] emailAddress;
    public string[] EmailAddress
    {
        get { return emailAddress; }
        set { emailAddress = value; }
    } 
}

解决方案

Bare minimum working... looks like you are only required to add one attribute.

public class EmailConfiguration
{
    public string DataBoxID { get; set; }
    public DefaultSendToAddressCollectionClass DefaultSendToAddressCollection { get; set; }
}

public class DefaultSendToAddressCollectionClass
{
    [XmlElement]
    public string[] EmailAddress { get; set; }
}

这篇关于XML到C#类问题的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆