Xml和Json
Xml和Json的介绍大佬的博客里都介绍的很清楚 我就不多赘述了,直接讲使用方法 如果想了解他们的区别和优点可以看大佬写的博客
xml
xml配置文件
(编码格式是UTF-8 可以读取中文)
<女盆友>//根结点
<小花>
<年龄>
18
</年龄>
<手机号>
184545454
</手机号>
<星座>
处女
</星座>
</小花>
<富婆>
<年龄>
58
</年龄>
<手机号>
188888888
</手机号>
</富婆>
<星座>
金牛
</星座>
</女盆友>
读取xml文件
以c#为例
///首先建立一个女盆友的类
public class MygirlFriend
{
public string name;
public List<Grildate>=new List<Grildate>();//女盆友名字的列表
}
///建立一个女盆友名字的类
public class Grildate
{
public string name;
public List<Date>=new List<Date>();//女盆友的信息(年龄,手机号)
}
///建立一个女盆友信息的类
public class Date
{
public string Name;
public string date;//女盆友的信息(年龄,手机号)
}
public static MygirlFriendmygril=new MygirlFriend();//申请一个静态的类来存放读取的数据
///开始读取xml文件
public void readxml()
{
//首先要拿到xml文件 "xml文件的名字"
TextAsset textasset = (TextAsset)Resources.Load("女盆友配置文件", typeof(TextAsset));
XmlDocument xmlDoc = new XmlDocument();
xmlDoc.LoadXml(textasset.text);
XmlNode root = xmlDoc.SelectSingleNode("女盆友");//获取配置文件根结点
XmlNodeList nodeList_level1 = root.ChildNodes;//向下走一个节点(接下来的节点是年龄,手机号 他们同级)
//读取所有一级的节点
foreach (XmlNode node1 in nodeList_level1)
{
Grildate grildate = new Grildate();
//获取一级节点数据
XmlElement element_1 = (XmlElement)node1;//将XmlNode强转为XMLElement
//获取名字
grildate.name = element_1.Name;
///到现在一级的节点全部获取成功 下面开始获取二级节点的信息
XmlNodeList nodeList_level2 = node1.ChildNodes;
foreach (XmlNode node2 in nodeList_level2)
{
Date date = new Date();
XmlElement element_2 = (XmlElement)node2;
date.Name = node2.Name;//这个Name是节点名字 比如手机号 信息 要通过他来查找下面的内容
date.date = node2.InnerText;//节点内的信息 如手机号xxxxx 年龄xx
grildate.OneDate.Add(date);//将数据存入一级节点的列表
}
mygril.AllDate.Add(grildate);//数据全部存储完成
}
}
Json
Json的配置文件
使用Json时如果是unity就要去商店内下载LitJson 若为Vs编程则应该导入引用LitJson.dll
[
{
"编号":0,
"姓名":"小花",
"年龄":18,
"星座":"处女"
}
,
{
"编号":1,
"姓名":"富婆",
"年龄":58,
"星座":"金牛"
}
]
Json表
public Class Jsondate
{
public int Id;
public string Name;
public string Xingzuo;
public int Age;
public Show(int id,string name,string xz,int age)
{
this.Id=id;
this.Name=name;
this.Xingzuo=xz;
this.Age=age;
}
}
读取Json
private static JsonRead instance;
public static JsonRead Instance
{
get
{
if (instance == null) instance = new JsonRead();
return instance;
}
}
private JsonData date;
public List<Jsondate> jsonList;//存放Json读取到的数据
public void LoadJsonDate()
{
if (jsonList == null)
{
jsonList = new List<Jsondate>();
}
this.date = JsonMapper.ToObject(File.ReadAllText(Application.dataPath + "/Resources/Json.json", Encoding.GetEncoding("GB2312")));//加载配置文件
}
private void DecodeJson()
{
for (int index = 0; index < date.Count; index++)
{
int id = (int)this.date[index]["编号"];
string name = this.date[index]["姓名"].ToString();
int age = (int)this.date[index]["年龄"];
string xz = this.date[index]["星座"].ToString();
Jsondate date = new Jsondate(id, name, xz, age);
this.jsonList.Add(date);//将数据存入
}
}
注:使用LitJson应该导入LitJson插件或者导入LitJson.dll
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。