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

unity之XML

发布时间:2020-12-16 08:55:54 所属栏目:百科 来源:网络整理
导读:using UnityEngine;using System.Collections;using System.Xml;using System.IO;public class xmlTest : MonoBehaviour{ //Xml //读取本地xml,增删改查 //读取网络xml,增删改查,带有节点的 //在本地生成xml文件 void Start() { //成创建一个文件夹,FileS
using UnityEngine;
using System.Collections;
using System.Xml;
using System.IO;
public class xmlTest : MonoBehaviour
{

    //Xml
    //读取本地xml,增删改查
    //读取网络xml,增删改查,带有节点的
    //在本地生成xml文件

    void Start()
    {

        //成创建一个文件夹,FileStream操作的是字节byte
        //   FileStream fileStream = new FileStream(Application.dataPath + "/MyXml",FileMode.Create);//创建一个文件夹

//   //写文件,StreamWrite操作的是字符
    StreamWriter writer = new StreamWriter(Application.dataPath+"/json.txt",true);//路径,是否追加,(接着上一次的文件里的内容接着写,fasle:就完全覆盖掉了)
    writer.Write(json);
    writer.Close()
        //Open:打开现有文件,如果不存在则发生异常
        //Create:创建一个文件,如果已经存在则发生异常
        //openOrCreate:尝试打开已经存在的文件,如果还不存在就新建一个

        StartCoroutine("CreateFile");



    }


    void Update()
    {

    }

    IEnumerator CreateFile()
    {
        //创建一个xml文件
        // FileStream fileStream = new FileStream(Application.dataPath + "/My.xml",FileMode.OpenOrCreate);
        // fileStream.Close();
        yield return new WaitForSeconds(0.5f);

        //XmlDocument xmlDocument = new XmlDocument();
        //XmlElement people =   xmlDocument.CreateElement("people");
        //xmlDocument.AppendChild(people);
        //xmlDocument.Save("Assets/My.xml");//生成一个文件,
        //     xmlDocument.Load("Assets/My.xml");//加载一个这个路径的xml文件,这个文件里面不能为空

        //创建xml的方式
        //1.使用xmlDocument,创建节点啥的,然后save到一个路径下
        //2.使用xmlTextReader



        //   XmlTextWriter xmlwriter = new XmlTextWriter("Assets/My2.xml",System.Text.Encoding.UTF8);//创建了一个xml文件

        //      XmlTextWriter xm = new XmlTextWriter("Assets/My3",System.Text.Encoding.UTF8);//只能创建xml文件,你不用写后缀


        //读取一个xml问件,得从头开始访问,或者给出你要访问的那个节点的位置

        //XmlDocument xmldocument = new XmlDocument();
        //xmldocument.Load("Assets/Cartoon.xml");
        //XmlElement xme =(XmlElement)  xmldocument.SelectSingleNode("result/results/AlbumInfo/albumId");
        // print(xme.InnerText);

        //用xmlTextReader
        XmlTextReader reader = new XmlTextReader("Assets/Cartoon.xml");

        while (reader.Read())
        {
            if (reader.NodeType == XmlNodeType.Element)
            {
                if (reader.Name=="albumId")//把所有的albumid都读取出来了,然而不能得到一个特定的值
                {
                 print(reader.ReadElementContentAsString());
                }
            }

        }

    }
}

读取xml的三种方式

1.DOM:结构文档方式,把所有的文件都读到内存中,它允许编辑和更新XML文档,可以随机访问文档中的数据,可以使用XPath查询

2.流模型:(XmlTextReader,XmlTextWrite(推模型:SAX,拉模型:XmlTextReader)):内存中只有当前节点,不可以回流

(编辑:李大同)

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

    推荐文章
      热点阅读