XML如何序列化成字符串

XML如何序列化成字符串 

-----------------------------

using System;
using System.Xml.Serialization;

namespace BLL.FrameWork
{
 /// <summary>
 /// ActionMapping对Struts-config.xml的映射 的摘要说明。
 /// 2005-12-11 PM 17:15 Modify HHD.
 /// </summary>
 [XmlRoot("action-mappings")]
 public class ActionMapping
 {
  [XmlElement("action")]
   public Action[] Actions;
 }

 public class Action
 {
  [XmlAttribute("name")]
  public string Name = "";
  [XmlAttribute("classname")]
  public string ClassName = "";
  [XmlAttribute("path")]
  public string Path = "";
  [XmlAttribute("input")]
  public string Input = "";
  [XmlAttribute("validate",DataType="boolean")]
  public bool Validate = false;
  [XmlAttribute("istransaction",DataType="boolean")]
  public bool IsTransAction = false;
  [XmlElement("forward")]
  public Forward[] Forwords;
 }

 public class Forward
 {
  [XmlAttribute("name")]
  public string Name = "";
  [XmlAttribute("path")]
  public string Path = "";
 }
}

调用

。。。

Hashtable StrutsData = (Hashtable)HttpContext.Current.Cache["StrutsData"];
    if(StrutsData==null)
    {
     StrutsData = new Hashtable();
     string xmlpath = HttpContext.Current.Server.MapPath(ConfigurationSettings.AppSettings["strutsconfig"]);
     XmlSerializer xs = new XmlSerializer(typeof(ActionMapping));
     FileStream fs = new FileStream(xmlpath,FileMode.Open);
     ActionMapping actionmapping = (ActionMapping)xs.Deserialize(fs);
     fs.Close();
     int actionmappinglength = actionmapping.Actions.Length;
     
     for(i=0;i<actionmappinglength;i++)
     {
      Hashtable temp = new Hashtable();
      temp.Add("ClassName",actionmapping.Actions[i].ClassName);
      temp.Add("Path",actionmapping.Actions[i].Path);
      temp.Add("Input",actionmapping.Actions[i].Input);      
      temp.Add("Validate",actionmapping.Actions[i].Validate);
      temp.Add("IsTransAction",actionmapping.Actions[i].IsTransAction);
      temp.Add("Forwords",actionmapping.Actions[i].Forwords);
      StrutsData.Add(Convert.ToString(actionmapping.Actions[i].Name),temp);      
     }
     HttpContext.Current.Cache.Insert("StrutsData",StrutsData);
    }
。。。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值