一、XML
1.介绍
2.结构
3.生成
4.示例
using UnityEngine;
using UnityEngine.UI;
using System.Xml;
public class DataTest : MonoBehaviour
{
public Button b1;
void Start()
{
b1.onClick.AddListener(CreateXML);
}
public void CreateXML()
{
//创建xml文件
XmlDocument doc = new XmlDocument();
//创建xml头
XmlNode xmlNode = doc.CreateXmlDeclaration("1.0", "utf-8", null);
//添加xml头
doc.AppendChild(xmlNode);
//创建xml根节点
XmlElement root = doc.CreateElement("users");
//添加xml根节点
doc.AppendChild(root);
//通过XmlNode创建根节点的子节点
XmlNode xn_enement = doc.CreateNode(XmlNodeType.Element, "Name", null);
XmlNode xn_enement2 = doc.CreateNode(XmlNodeType.Element, "Age", null);
//设置子节点的值
xn_enement.InnerText = "张三";
xn_enement2.InnerText = "18";
//创建属性
XmlAttribute xa = doc.CreateAttribute("name");
XmlAttribute xa2 = doc.CreateAttribute("age");
//设置属性值
xa.Value = "12345";
xa2.Value = "";
//获取元素的document
XmlDocument xd = xn_enement.OwnerDocument;
//设置元素属性
xn_enement.Attributes.SetNamedItem(xa);
xn_enement2.Attributes.SetNamedItem(xa2);
//通过XmlElement再创建一个根节点的子节点
XmlElement element = doc.CreateElement("sex");
element.SetAttribute("性别", "");
element.InnerText = "男";
//添加到子节点到root结点
root.AppendChild(xn_enement);
root.AppendChild(xn_enement2);
root.AppendChild(element);
//保存xml
doc.Save(Application.dataPath+"/test.xml");
}
}
5.读取和添加
void AddXMLData()
{
string path = Application.dataPath + "/test3.xml";
if (File.Exists(path))
{
XmlDocument xml = new XmlDocument();
xml.Load(path);
XmlNode root = xml.SelectSingleNode("users");
XmlElement elementChild1 = xml.CreateElement("Hobby");
elementChild1.SetAttribute("爱好", "");
elementChild1.InnerText = "睡大觉";
//把节点添加至xml中,注意他们之间的先后顺序,这是生成XML文件的顺序
root.AppendChild(elementChild1);
//最后保存文件
xml.Save(path);
}
}