Unity 读写XML

写入:     

   doc = new XmlDocument();

        XmlDeclaration declaration = doc.CreateXmlDeclaration("1.0", "UTF-8", null);
        //2.将头部信息添加到xml文档
        doc.AppendChild(declaration);
        //3. 创建一个根节点
        XmlNode root = doc.CreateNode(XmlNodeType.Element, "Root", null);
        doc.AppendChild(root);
        XmlElement path = doc.CreateElement("Path");
        path.SetAttribute("path", "Resources");

        root.AppendChild(path);

第一种保存方法:   --> 这种方法存入的XML会带有BOM,WWW类加载会报错

        doc.Save(Application.dataPath + "/Resources/data.xml");  

第二种保存方法:  --> 去掉BOM

    StreamWriter sw = new StreamWriter(Application.dataPath + "/StreamingAssets/data.xml", false, new UTF8Encoding(false));
        doc.Save(sw);

        sw.Close();   -->   如果不关闭,它就永远独占该文件,无法进行其他操作

读取:

第一种,常用方法读取方法:(适合PC端读取)

         void ResourcesReadAct()
    {
        doc = new XmlDocument();
        //获取Asset下的xml文件
        doc.Load(Application.dataPath + "/Resources/data.xml");
        //获取xml的根节点(返回根节点)
        XmlElement root = doc.DocumentElement;
        //获取根节点下的某一节点
        XmlNode path = root.SelectSingleNode("Path"); 
        ResourcesText.text = path.Attributes[0].Name + ":  " + path.Attributes[0].Value;

    }

第二种,WWW类读取:(可是适用与PC,移动,网络端)

        IEnumerator WWWreadStreaming()
    {
        string sPath = Application.streamingAssetsPath + "/data.xml";
        WWW www = new WWW(sPath);
        yield return www;
        XmlDocument xmldoc = new XmlDocument();
        xmldoc.LoadXml(www.text);
        XmlElement root = xmldoc.DocumentElement;
        XmlNode path = root.SelectSingleNode("Path");
        StreamingAssetsField.text = path.Attributes[0].Name + ":  " + path.Attributes[0].Value;
    }


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值