【unity】c# 讀寫xml_寫入xml的兩種方式

要用xml做配置文件,來高一波。

using UnityEngine;
using System.Collections;
using System.Xml;
using System.Text;

public class XmlTest : MonoBehaviour {

    //初始化一個xml實例
    XmlDocument xmldoc ;
    XmlNode xmlnode;
    XmlElement xmlelem;

    string path = @"e:\點門網\門\別墅門\1";
    string fileName = @"\data.xml";
    string fileName2 = @"\data2.xml";
    /// <summary>
    /// 使用XmlDocument相關來創建xml
    /// </summary>
    /// <param name="Path"></param>
    /// <param name="fileName"></param>
    private void CreateXML1(string Path,string fileName)
    {
        xmldoc = new XmlDocument();
        //加入xml聲明段落<?xml version="1.0" encoding="gb2312"?>
        XmlDeclaration xmldect;
        xmldect = xmldoc.CreateXmlDeclaration("1.0", "utf-8", null);
        xmldoc.AppendChild(xmldect);
        //加入一個根元素
        xmlelem = xmldoc.CreateElement("", "Employees", "");
        xmldoc.AppendChild(xmlelem);
        //假如另外一個元素
        for (int i = 1; i < 3; i++)
        {
            XmlNode root = xmldoc.SelectSingleNode("Employees");//查找<Employees>

            XmlElement xe1 = xmldoc.CreateElement("Node");//創建一個<Node>結點
            xe1.SetAttribute("mingzi", "溫世洋");
            xe1.SetAttribute("age", "22");

            XmlElement xesub1 = xmldoc.CreateElement("title");
            xesub1.InnerText = "第一次c#操作xml";
            xe1.AppendChild(xesub1);//添加到<Node>結點中

            XmlElement xesub2 = xmldoc.CreateElement("author");
            xesub2.InnerText = "死羊君";
            xe1.AppendChild(xesub2);

            XmlElement xesub3 = xmldoc.CreateElement("data");
            xesub3.InnerText = "2016.2.21";
            xe1.AppendChild(xesub3);
            root.AppendChild(xe1);
        }
        xmldoc.Save(Path + fileName);
    }

    /// <summary>
    /// 下面這種書寫xml方式,我理解爲從上至下,按照順序逐行寫入。
    /// </summary>
    /// <param name="path"></param>
    /// <param name="fileName"></param>
    private void CreateXML2(string path, string fileName)
    {
        XmlTextWriter xmlWriter;
        string strFilName = path + fileName;
        xmlWriter = new XmlTextWriter(strFilName, Encoding.UTF8);
        xmlWriter.Formatting = Formatting.Indented;
        xmlWriter.WriteStartDocument();
        xmlWriter.WriteStartElement("Employees");

        xmlWriter.WriteStartElement("Node");
        xmlWriter.WriteAttributeString("mingzi", "溫世洋");
        xmlWriter.WriteAttributeString("age", "22");

        xmlWriter.WriteStartElement("title");
        xmlWriter.WriteString("第二次寫入xml");
        xmlWriter.WriteEndElement();

        xmlWriter.WriteStartElement("author");
        xmlWriter.WriteString("溫世洋");
        xmlWriter.WriteEndElement();

        xmlWriter.WriteStartElement("price");
        xmlWriter.WriteString("58.3");
        xmlWriter.WriteEndElement();

        xmlWriter.WriteEndElement();
        xmlWriter.Close();
    }
    // Use this for initialization
    void Start () {
<span style="white-space:pre">	</span>//<pre name="code" class="csharp"><span style="white-space:pre">	</span>CreateXML1<span style="font-family: Arial, Helvetica, sans-serif;">(path, fileName1);</span>
CreateXML2(path, fileName2); }// Update is called once per framevoid Update () {}}

使用了兩種方式進行創建。

data.xml生成結果


data2.xml生成結果


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章