排序写入XML

 
 
 
 
using UnityEngine;
using UnityEngine.UI;
using System.Collections;

public class GameController : MonoBehaviour
{

    public float B_sp = 1f;
    public float R_sp = 1f;
    public SerialPortTest spt1;
    public SerialPortTest_red spt2;

    public static GameController _instance;
    private void Awake()
    {
        _instance = this;
    }

    void Start()
    {

        StartCoroutine(ie());
    }

    IEnumerator ie()
    {
        yield return new WaitForSeconds(0.5f);
        GetComponent<AudioSource>().enabled = true;
    }


    // Update is called once per frame
    void Update()
    {
        if (Input.GetKeyDown(KeyCode.Escape))
        {
            Application.Quit();
        }
        if (Input.GetMouseButtonDown(1) || Input.GetKeyDown(KeyCode.Keypad9))
        {
            Application.LoadLevel(0);
        }
        if (Input.GetKeyDown(KeyCode.Keypad4))
        {

            spt1.enabled = true;

            spt1.duankoulianjie();
        }
        if (Input.GetKeyDown(KeyCode.Keypad5))
        {
            spt2.enabled = true;
            spt2.duankoulianjie();
        }
        if (Input.GetKeyDown(KeyCode.Keypad7))
        {
            spt1.qingling();
        }
        if (Input.GetKeyDown(KeyCode.Keypad8))
        {
            spt2.qingling();
        }
        if (Input.GetKeyDown(KeyCode.O))
        {
            MY_CS._insatcne.texiao666();
        }
        if (Input.GetKeyDown(KeyCode.P))
        {
            MY_CS._insatcne.texiao777();
        }
        if (Input.GetKeyDown(KeyCode.L))
        {
            MY_CS._insatcne.texiao888();
        }
    }

    public void B_FUZHI()
    {
        Paixu._instance.MYStart("T1", "NO1", (int)SerialPortTest._instance.Arduino_X, "T2", "NO2", (int)SerialPortTest._instance.Arduino_Y, "T3", "NO3", (int)SerialPortTest._instance.Arduino_Z, "T4", "NO4", (int)SerialPortTest._instance.Arduino_A, "T5", "NO5", (int)SerialPortTest._instance.Arduino_B);
    }
    public void R_FUZHI()
    {
        Paixu._instance.MYStart("T6", "NO6", (int)SerialPortTest_red._instance.Arduino_X, "T7", "NO7", (int)SerialPortTest_red._instance.Arduino_Y, "T8", "NO8", (int)SerialPortTest_red._instance.Arduino_Z, "T9", "NO9", (int)SerialPortTest_red._instance.Arduino_A, "T10", "NO10", (int)SerialPortTest_red._instance.Arduino_B);
    }
}


 
 
using UnityEngine;
using System.Collections;
using System.Collections.Generic;
using System;

public class Paixu : MonoBehaviour
{

    static List<NumData> list = new List<NumData>();

    public static Paixu _instance;
    private void Awake()
    {
        _instance = this;
    }

    private void Start()
    {

        //setData();
        ////Sort1();

        ////for (int i = 0; i < list.Count; i++)
        ////{
        ////    Debug.Log(list[i].name+"++"+list[i].num);
        ////}

        //Sort2();
        //Debug.Log("---" + list[0].name);
        //for (int i = 0; i < list.Count; i++)
        //{
        //    Debug.Log(list[i].name + "++" + list[i].num);
        //}

        //NumData mdata = Search("B");
        //Debug.Log(mdata.name+ "---" + mdata.num);


    }

    public void MYStart(string T1, string NameA, int A, string T2, string NameB, int B, string T3, string NameC, int C, string T4, string NameD, int D, string T5, string NameE, int E)
    {
        setData(T1, NameA, A, T2, NameB, B, T3, NameC, C, T4, NameD, D, T5, NameE, E);


        Sort2();

        CreatXML_ReadXML._instance.CreateXML(list[0].name2,list[0].name, list[0].num, list[1].name2, list[1].name, list[1].num, list[2].name2, list[2].name, list[2].num, list[3].name2, list[3].name, list[3].num, list[4].name2, list[4].name, list[4].num);
    }

    class NumData
    {
        public int num;
        public string name;
        public string name2;
    }


    static void setData(string T1,string NameA, int A, string T2, string NameB, int B, string T3, string NameC, int C, string T4, string NameD, int D, string T5, string NameE, int E)
    {
        NumData data1 = new NumData();
        NumData data2 = new NumData();
        NumData data3 = new NumData();
        NumData data4 = new NumData();
        NumData data5 = new NumData();
        data1.num = A;
        data1.name = NameA;
        data1.name2 = T1;
        list.Add(data1);
        data2.num = B;
        data2.name = NameB;
        data2.name2 = T2;
        list.Add(data2);
        data3.num = C;
        data3.name = NameC;
        data3.name2 = T3;
        list.Add(data3);
        data4.num = D;
        data4.name = NameD;
        data4.name2 = T4;
        list.Add(data4);
        data5.num = E;
        data5.name = NameE;
        data5.name2 = T5;
        list.Add(data5);
    }

    //从大到小排序
    static void Sort1()
    {
        list.Sort((a, b) =>
        {
            return a.num.CompareTo(b.num);
        });
    }

    //从小到大排序
    static void Sort2()
    {
        list.Sort((a, b) =>
        {
            return b.num.CompareTo(a.num);
        });
    }

    static NumData Search(string name)
    {
        return list.Find(data => data.name == name);
    }



}
using UnityEngine;
using System.Collections;
using System.Xml;
using System.IO;

public class CreatXML_ReadXML : MonoBehaviour
{

    private ArrayList Adialogue = new ArrayList();
    private ArrayList Bdialogue = new ArrayList();
    private ArrayList textList = new ArrayList();
    public static CreatXML_ReadXML _instance;
    private void Awake()
    {
        _instance = this;
    }
    // Use this for initialization
    void Start()
    {


    }

    // Update is called once per frame
    void Update()
    {

    }

    //void OnGUI()
    //{
    //    if (GUI.Button(new Rect(50, 50, 100, 50), "生成XML"))
    //    {
    //        CreateXML();
    //        Debug.Log("生成XML");
    //    }

    //    if (GUI.Button(new Rect(50, 100, 100, 50), "读取XML"))
    //    {
    //        LoadXml();
    //        Debug.Log("读取XML");
    //    }
    //}

    public void CreateXML(string T1, string NameA, int A, string T2, string NameB, int B, string T3, string NameC, int C, string T4, string NameD, int D, string T5, string NameE, int E)
    {
        string path = Application.streamingAssetsPath + "/testPoint.xml";

        //创建最上一层的节点。
        XmlDocument xml = new XmlDocument();
        //创建最上一层的节点。
        XmlElement root = xml.CreateElement("objects");

        //创建子节点
        XmlElement element = xml.CreateElement("messages1");
        //设置节点的属性
        element.SetAttribute("id", "1");
        XmlElement elementChild1 = xml.CreateElement("contents");
        elementChild1.SetAttribute("name", NameA);
        elementChild1.InnerText = NameA;
        XmlElement elementChild3 = xml.CreateElement("contents2");
        elementChild3.SetAttribute("name2", T1);
        elementChild3.InnerText = T1;
        XmlElement elementChild2 = xml.CreateElement("mission");
        elementChild2.SetAttribute("Value", A.ToString());
        elementChild2.InnerText = A.ToString();
        element.AppendChild(elementChild1);
        element.AppendChild(elementChild3);
        element.AppendChild(elementChild2);
        root.AppendChild(element);

        ////////////////////////////////////////////////////////////////////////////
        XmlElement element1 = xml.CreateElement("messages2");
        element1.SetAttribute("id", "2");
        XmlElement elementChild11 = xml.CreateElement("contents");
        elementChild11.SetAttribute("name", NameB);
        elementChild11.InnerText = NameB;
        XmlElement elementChild31 = xml.CreateElement("contents2");
        elementChild31.SetAttribute("name2", T2);
        elementChild31.InnerText = T2;
        XmlElement elementChild21 = xml.CreateElement("mission");
        elementChild21.SetAttribute("Value", B.ToString());
        elementChild21.InnerText = B.ToString();
        element1.AppendChild(elementChild11);
        element1.AppendChild(elementChild31);
        element1.AppendChild(elementChild21);
        root.AppendChild(element1);
        ////////////////////////////////////////////////////////////////////////////
        XmlElement element2 = xml.CreateElement("messages3");
        element2.SetAttribute("id", "3");
        XmlElement elementChild12 = xml.CreateElement("contents");
        elementChild12.SetAttribute("name", NameC);
        elementChild12.InnerText = NameC;
        XmlElement elementChild32 = xml.CreateElement("contents2");
        elementChild32.SetAttribute("name2", T3);
        elementChild32.InnerText = T3;
        XmlElement elementChild22 = xml.CreateElement("mission");
        elementChild22.SetAttribute("Value", C.ToString());
        elementChild22.InnerText = C.ToString();
        element2.AppendChild(elementChild12);
        element2.AppendChild(elementChild32);
        element2.AppendChild(elementChild22);
        root.AppendChild(element2);
        ////////////////////////////////////////////////////////////////////////////
        XmlElement element3 = xml.CreateElement("messages4");
        element3.SetAttribute("id", "4");
        XmlElement elementChild13 = xml.CreateElement("contents");
        elementChild13.SetAttribute("name", NameD);
        elementChild13.InnerText = NameD;
        XmlElement elementChild33 = xml.CreateElement("contents2");
        elementChild33.SetAttribute("name2", T4);
        elementChild33.InnerText = T4;
        XmlElement elementChild23 = xml.CreateElement("mission");
        elementChild23.SetAttribute("Value", D.ToString());
        elementChild23.InnerText = D.ToString();
        element3.AppendChild(elementChild13);
        element3.AppendChild(elementChild33);
        element3.AppendChild(elementChild23);
        root.AppendChild(element3);
        ////////////////////////////////////////////////////////////////////////////
        XmlElement element4 = xml.CreateElement("messages5");
        element4.SetAttribute("id", "5");
        XmlElement elementChild14 = xml.CreateElement("contents");
        elementChild14.SetAttribute("name", NameE);
        elementChild14.InnerText = NameE;
        XmlElement elementChild34 = xml.CreateElement("contents2");
        elementChild34.SetAttribute("name2", T5);
        elementChild34.InnerText = T5;
        XmlElement elementChild24 = xml.CreateElement("mission");
        elementChild24.SetAttribute("Value", E.ToString());
        elementChild24.InnerText = E.ToString();
        element4.AppendChild(elementChild14);
        element4.AppendChild(elementChild34);
        element4.AppendChild(elementChild24);
        root.AppendChild(element4);
        ////////////////////////////////////////////////////////////////////////////

        xml.AppendChild(root);
        //最后保存文件
        xml.Save(path);
        Debug.Log("------------------结束-------------------");
    }


    void LoadXml()
    {
        //创建xml文档
        XmlDocument xml = new XmlDocument();
        XmlDeclaration Declaration = xml.CreateXmlDeclaration("1.0", "utf-8", null);
        xml.Load(Application.streamingAssetsPath + "/testPoint.xml");
        //得到objects节点下的所有子节点
        XmlNodeList xmlNodeList = xml.SelectSingleNode("objects").ChildNodes;
        //遍历所有子节点
        foreach (XmlElement xl1 in xmlNodeList)
        {

            if (xl1.GetAttribute("id") == "1")
            {
                //继续遍历id为1的节点下的子节点
                foreach (XmlElement xl2 in xl1.ChildNodes)
                {
                    print("name+" + xl2.GetAttribute("name") + ":Value+" + xl2.InnerText);

                }
            }
            if (xl1.GetAttribute("id") == "2")
            {
                //继续遍历id为1的节点下的子节点
                foreach (XmlElement xl2 in xl1.ChildNodes)
                {
                    print("name2+" + xl2.GetAttribute("name") + ":Value2+" + xl2.InnerText);

                }
            }
        }

    }


}

using UnityEngine;
using System.Xml;
using System.IO;
using System.Collections;
using UnityEngine.UI;

public class ReadXML : MonoBehaviour
{

    public Image NO1, T1;
    public GameObject MOVE_1, MOVE_2, MOVE_3, MOVE_4;
    // Use this for initialization
    void Start()
    {
        MOVE_1.GetComponent<MoviePlay>().enabled = true;
        MOVE_2.GetComponent<MoviePlay>().enabled = true;
        MOVE_3.GetComponent<MoviePlay>().enabled = true;
        MOVE_4.GetComponent<MoviePlay>().enabled = true;
        MoviePlay._instance.Movie_play();
        LoadXml();
    }

    // Update is called once per frame
    void Update()
    {
        // Debug.Log(name1 + "-----------------" + name2);
        if (Input.GetKeyDown(KeyCode.Escape))
        {
            Application.Quit();
        }
        if (Input.GetMouseButtonDown(1) || Input.GetKeyDown(KeyCode.Keypad9))
        {
            Application.LoadLevel(0);
        }
    }

    void LoadXml()
    {
        //创建xml文档
        XmlDocument xml = new XmlDocument();
        XmlDeclaration Declaration = xml.CreateXmlDeclaration("1.0", "utf-8", null);
        xml.Load(Application.streamingAssetsPath + "/testPoint.xml");
        //得到objects节点下的所有子节点
        XmlNodeList xmlNodeList = xml.SelectSingleNode("objects").ChildNodes;
        //遍历所有子节点
        foreach (XmlElement xl1 in xmlNodeList)
        {

            if (xl1.GetAttribute("id") == "1")
            {
               
                ////继续遍历id为1的节点下的子节点
                foreach (XmlElement xl2 in xl1.ChildNodes)
                {
                    if (xl2.Name== "contents")
                    {
                        NO1.overrideSprite = Resources.Load(xl2.InnerText, typeof(Sprite)) as Sprite;
                    }
                    if (xl2.Name == "contents2")
                    {
                        T1.overrideSprite = Resources.Load(xl2.InnerText, typeof(Sprite)) as Sprite;
                    }

                }
            }
            //if (xl1.GetAttribute("id") == "2")
            //{
            //    //继续遍历id为1的节点下的子节点
            //    foreach (XmlElement xl2 in xl1.ChildNodes)
            //    {
            //        print("name2+" + xl2.GetAttribute("name") + ":Value2+" + xl2.InnerText);

            //    }
            //}
        }

    }

}



 
 
 
 
<objects>
  <messages1 id="1">
    <contents name="NO4">NO4</contents>
    <contents2 name2="T4">T4</contents2>
    <mission Value="0">0</mission>
  </messages1>
  <messages2 id="2">
    <contents name="NO5">NO5</contents>
    <contents2 name2="T5">T5</contents2>
    <mission Value="0">0</mission>
  </messages2>
  <messages3 id="3">
    <contents name="NO3">NO3</contents>
    <contents2 name2="T3">T3</contents2>
    <mission Value="0">0</mission>
  </messages3>
  <messages4 id="4">
    <contents name="NO1">NO1</contents>
    <contents2 name2="T1">T1</contents2>
    <mission Value="0">0</mission>
  </messages4>
  <messages5 id="5">
    <contents name="NO2">NO2</contents>
    <contents2 name2="T2">T2</contents2>
    <mission Value="0">0</mission>
  </messages5>
</objects>

 
 
 
 
 
 
 

猜你喜欢

转载自blog.csdn.net/abcd5711664321/article/details/79003938
今日推荐