1 using UnityEngine;
2 using System;
3 using System.Collections;
4 using System.Collections.Generic;
5 using DG.Tweening;
6 using System.Linq;
7 using System.Xml.Linq;
8
9 public class MyTest2 : MonoBehaviour
10 {
11
12 string Path { get; set; }
13 string NewPath { get; set; }
14
15 void Awake()
16 {
17 Path = Application.persistentDataPath;
18 CreateXml();
19 }
20
21 void OnGUI()
22 {
23 //if (GUI.Button(new Rect(10, 10, 150, 100), "CreateXml")) CreateXml();
24 if (GUI.Button(new Rect(10, 150, 150, 100), "RemoveElement1")) RemoveElement1();
25 if (GUI.Button(new Rect(10, 320, 150, 100), "AddBeforeElement2")) AddBeforeElement2();
26 }
27
28
29 void CreateXml()
30 {
31 XElement srcTree = new XElement("Root",
32 new XElement("Element1", 1,
33 new XElement("Child1", 1),
34 new XElement("Child2", 2),
35 new XElement("Child3", 3),
36 new XElement("Child4", 4),
37 new XElement("Child5", 5)),
38 new XElement("Element2", 2,
39 new XElement("Child1", 1),
40 new XElement("Child2", 2),
41 new XElement("Child3", 3),
42 new XElement("Child4", 4),
43 new XElement("Child5", 5)),
44 new XElement("Element3", 3,
45 new XElement("Item", 1),
46 new XElement("Item", 2),
47 new XElement("Item", 3),
48 new XElement("Item", 4),
49 new XElement("Item", 5))
50 );
51
52 NewPath = Path + "/" + srcTree.Name + ".xml";
53 srcTree.Save(NewPath);
54
55 //XElement newTree = XElement.Load(NewPath);
56 //foreach (var item in srcTree.Elements())
57 //{
58 // //Element1 : 112345
59 // Debug.Log(item.Name + " : " + item.Value);
60 // foreach (var item1 in item.Elements())
61 // {
62 // //Child1 : 1
63 // //Child1 : 2
64 // //Child1 : 3
65 // //Child1 : 4
66 // //Child1 : 5
67 // Debug.Log(item1.Name + " : " + item1.Value);
68 // }
69 //}
70
71
72 }
73
74 void RemoveElement1()
75 {
76 XElement srcTree = XElement.Load(NewPath);
77
78 var select = srcTree.Elements().Where(t => t.Name == "Element1").ToList();
79
80 Debug.Log("select.Count" + select.Count);
81 ///要 转化 成 list
82 foreach (var item in select)
83 {
84 item.Remove();
85 }
86
87 NewPath = Path + "/" + srcTree.Name + ".xml";
88 srcTree.Save(NewPath);
89 }
90
91 void AddBeforeElement2()
92 {
93 XElement srcTree = XElement.Load(NewPath);
94
95 var select = srcTree.Element("Element2");
96
97 select.AddBeforeSelf(new XElement("Element1","1"));
98
99 NewPath = Path + "/" + srcTree.Name + ".xml";
100 srcTree.Save(NewPath);
101 }
102 }