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

通过XML自动给对象赋值

发布时间:2020-12-15 22:27:16 所属栏目:百科 来源:网络整理
导读:举个最简单的例子,比如一个XML内容如下: Message Id001/Id Name测试/Name age25/age /Message 有个类结构如下: public class Message { public string Id; public string Name; public string age; } 要将XML的值自动填充到Message对象里去,只需三步 第

举个最简单的例子,比如一个XML内容如下:

<Message>

<Id>001</Id>
<Name>测试</Name>
<age>25</age>

</Message>

有个类结构如下:

public class Message
{
public string Id;
public string Name;
public string age;
}

要将XML的值自动填充到Message对象里去,只需三步

第一步,添加引用using GoLongSoft.XmlObjects;

第二部,给类Message做标记,代码如下

[MappingTo("Message")]
public class Message : XmlItem
{
public string Id;
public string Name;
public string age;
}

第三步,使用FromXmlString方法,代码如下:

System.Xml.XmlDocument xmlpostdata = new System.Xml.XmlDocument();
xmlpostdata.Load(Server.MapPath("xml.xml"));
string postData = xmlpostdata.InnerXml;
Message ms = new Message();
ms.FromXmlString(postData);
Response.Write(ms.Id+","+ms.Name+","+ms.age);


同样也可以反过来使用,(但需要给类里每个参数做标记[MappingAsNode(true)])代码如下:

[MappingTo("Message")]
public class Message : XmlItem
{
[MappingAsNode(true)]
public string Id;
[MappingAsNode(true)]
public string Name;
[MappingAsNode(true)]
public string age;
}


Message ms1 = new Message();
ms1.Id = "002";
ms1.Name = "测试2";
ms1.age = "20";
string temp = ms1.ToXmlString();

temp的值就为<Message><Name>测试2</Name><age>20</age><Id>002</Id></Message>

(编辑:李大同)

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

    推荐文章
      热点阅读