xml文件的读写和修改

一、读取
读取的xml文件如下:

      
      
  
       
       
	
        
        
		
         
         	
		
         
         	
		
         
         	
		
         
         
		
         
         
		
         
         
		
         
         
		
         
         
		
         
         
		
         
         	
	
        
        
	
        
        
		
         
         
		
         
         
		
         
         
	
        
        
  
       
       
  
       
       
  	
        
        
		
         
         
		
         
         
		
         
         
		
         
         
		
         
         
		
         
         
		
         
         
		
         
         
	
        
        
	
        
        
		
         
         
		
         
         
		
         
         
	
        
        
	
        
        
		
         
         
	
        
        
  
       
       

      
      

读取数据结构如下:
class Mission
{
    public int id;               //任务ID
    public int passtype;         //通关方式(距离|时间|打死BOSS)
    public int value;            //对应通关方式,距离,时间。。。
    public int exp;              //每个怪物或者经验球的经验值
    public int monsterHP;        //怪物血量
    public int monsterattack;    //怪物伤害值
    public int strength;         //消耗的体力值
    public int MaxGold;          //
    public List condlist= new List();  //开启条件
    public Dictionaryobspart = new Dictionary();  //阻碍片段链表
}

读取代码如下:
void LoadMissionXml()
    {
       TextAsset MissionXml = (TextAsset)Resources.Load("Mission");
       XmlDocument XmlDoc= new XmlDocument();
       XmlDoc.LoadXml(MissionXml.text.ToString().Trim()); //Trim去掉字符串中首尾空格
       XmlNode XN =XmlDoc.SelectSingleNode("Mission");
       XmlNodeList XNL =XN.ChildNodes;
       for (int i = 0; i < XNL.Count; ++i)
       {
          Mission mMission = new Mission();
          XmlElement XE = (XmlElement)XNL[i];
          mMission.id = int.Parse(XE.GetAttribute("id"));
          mMission.passtype = int.Parse(XE.GetAttribute("passtype"));
          mMission.value = int.Parse(XE.GetAttribute("value"));
          mMission.exp = int.Parse(XE.GetAttribute("exp"));
          mMission.monsterHP = int.Parse(XE.GetAttribute("hp"));
          mMission.monsterattack = int.Parse(XE.GetAttribute("attack"));
          mMission.strength = int.Parse(XE.GetAttribute("strength"));
          mMission.MaxGold = int.Parse(XE.GetAttribute("maxgold"));
           for(int j = 0; j 
     
     

二、写xml文件
 void CreateXML()
    {
       string path =Application.dataPath + "/StreamingAssets/" + "/roadData.xml";
       Debug.Log(path);
       if (!File.Exists(path))
       {
          
          XmlDocument xml = new XmlDocument();
          //创建根节点
          XmlElement root =xml.CreateElement("Road");
          //创建子节点
          XmlElement element =xml.CreateElement("road");
          //添加并设置节点的属性
          element.SetAttribute("id","1");
          XmlElement elementChild1 =xml.CreateElement("part");

          elementChild1.SetAttribute("name","a");
          //设置节点内的内容
          elementChild1.InnerText = "abc";
           XmlElementelementChild2 = xml.CreateElement("part");
          elementChild2.SetAttribute("map","abc");
          elementChild2.InnerText = "def";
          //把节点一层一层的添加至xml中,注意他们之间的先后顺序,决定了父子级关系
          element.AppendChild(elementChild1);
          element.AppendChild(elementChild2);

          root.AppendChild(element);

          xml.AppendChild(root);
          //最后保存文件
          xml.Save(path);
       }
       AssetDatabase.Refresh(); //刷新
    }

完成之后就会生成一个xml文件,内容如下:

        
        
  
         
         
    
          
          
           
           abc
          
          
    
          
          
           
           def
          
          
  
         
         

        
        


三、修改xml文件内容
  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值