专栏首页游戏开发之旅uinty中对Xml文件的操作

uinty中对Xml文件的操作

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。

本文链接:https://blog.csdn.net/CJB_King/article/details/52091158

最近学习unity感觉到了瓶颈,然后就回顾一下学到的知识,将它们整理下来;

unity中用户的登录与注册需要将用户名和密码保存起来的,方法有很多,如将其保存到数据库,或用JSON保存到磁盘,这里就简单说说用Xml对其进行读写操作吧;

首先,对Xml进行操作需要的命名空间是 using system.IO;

using system.Xml;

先附上一段代码,再添加注释解释吧;

using system.IO;
using system.Xml;

void Start()
{
    private string path_Xml=Application.dataPath+"/User.xml";  //保存文件的路径;
    
    if(!File.Exists(path_Xml))                               //判断文件是否存在,如果不存在就创建Xml文件;
    {
        XmlDocument xmlDoc=new XmlDocument();  
        XmlElement root=xmlDoc.CreateElement("Root");       //创建根结点;
        XmlDoc.AppendChild(root);                           //将根节点绑定到Xml对象上;
        XmlElement user=xmlDoc.CreateElement("User");       //再创建一个user结点;
        user.SetAttribute("user_name","userOne");           //将userOne保存到user结点中;
        user.SetAttribute("user_pass","1242434");
        user.setAttribute("user_address","hainan");
        root.AppendChild(user);                             //将user结点绑定到root根节点上;
        xmlDoc.Save(path_Xml);                              //用Save方法将信息保存到User.xml中;
    }
    
}

以上就是对xml文件的写操作,那么如何进行读取呢?

同样还是先创建XmlDocument对象;

XmlDocument xmlDoc=new XmlDocument()
xmlDoc.Load(path_Xml);                //加载文件;
XmlNodeList nodeList=xmlDoc.SelectSingleNode("Root").ChildNodes;      //取得Root结点下的所有子节点;
foreach(XmlElement xe in nodeList)
{
    if(xe.GetAttribute("user_name")=="")                         //用XmlElement对象的GetAttribute方法取得结点;
    {
            
    }
}

总结:主要就是XmlDocument对象的CreateElement(),AppendChild(),Save(),Load(),SelectSingleNode()方法以及
    XmlElement对象的AppendChild(),SetAttribute(),GetAttribute()等方法;

本文出自 “51CTO_King” 博客,请务必保留此出处http://cjboking.blog.51cto.com/11020113/1784368

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • Lua函数的冒号调用和点调用

    冒号定义函数中的self指向函数所属表对象,即self是table类型,通过self表可以:访问挂载在该表下的所有冒号定义函数 如,有定义A={},A:b()...

    bering
  • Lua生成的LDoc文档注释规范

    函数参数@param 是不指明具体类型的, 若想指明的话可以用 @int, @string, @bool, @func, @tab, @thread 几个标签来...

    bering
  • shader实例(三)物体描边

    bering
  • HDFS ACL权限管理 初解

    Hadoop中的ACL与Linux中的ACL机制基本相同,都是用于为文件系统提供更精细化的权限控制。

    DataScience
  • ESP8266学习笔记5:ESP8266接入yeelink

    搞定了SmartConfig,前头也用cURL玩过了yeelink,今天就编写代码,让ESP8266接入yeelink。

    twowinter
  • Clojure 学习入门(4)—— 字符串

    一、创建 函数str: 函数 (str) 接受任意数量的参数。如果参数不是字符串则将其转换为字符串,返回创建的新字符串。如果没有参数或为nil,则返回空字符串...

    阳光岛主
  • 如何重置Hue用户密码

    如果你忘记了Hue用户的密码,同时也不知道MySQL管理员的用户和密码,但仍需要重置密码,那么本文档可以帮助你重置Hue任何用户密码。

    Fayson
  • Django使用Channels实现websocket

    由于项目有个需要实时显示状态的需求,搜索了各种实现方法,看来只有websocket最靠谱,但django原生是不支持websocket的,最终发现了chango...

    用户1637228
  • Day3 | 数据库操作DML

    使用on duplicate key update可以解决插入或更改重复主键,即当insert内容和原表内容存在重复记录时,执行update操作。

    DataScience
  • Pandas数据结构详解 | 轻松玩转Pandas(1)

    Pandas 有很多高级的功能,但是想要掌握高级功能前,需要先掌握它的基础知识,Pandas 中的数据结构算是非常基础的知识之一了。

    abs_zero

扫码关注云+社区

领取腾讯云代金券