Unity3D读取XML文档信息实例
2015-01-26 16:35
363 查看
Unity3D读取XML文档信息
分类:
Unity3D
XML
C# 2013-07-11 11:00
5327人阅读 评论(0)收藏
举报
Unity3DXML
[csharp]
view plaincopyprint?
using System;
using UnityEngine;
using System.IO;
using System.Xml;
using System.Linq;
using System.Text;
using System.Collections.Generic;
namespace Address
{
/// <summary>
/// 地址数据
/// </summary>
public class AddressData
{
/// <summary>
///当前城市ID
/// </summary>
public static string _nowProvinceId;
/// <summary>
/// 所有省名字
/// </summary>
public static List<string> allProvinceName = new List<string>();
/// <summary>
/// 所有城市id
/// </summary>
public List<string> allCityId = new List<string>();
///<summary>
///所有城市名字
///</summary>
public List<string> allCityName = new List<string>();
public static string localUrl = Application.dataPath + "/XMLFile1.xml";
/// <summary>
/// 加载xml文档
/// </summary>
/// <returns></returns>
public static XmlDocument ReadAndLoadXml()
{
XmlDocument doc = new XmlDocument();
Debug.Log("加载xml文档");
doc.Load(localUrl);
return doc;
}
/// <summary>
/// 从本地加载xml并获取所有省的名字
/// </summary>
/// <param name="url"></param>
/// <returns></returns>
public static List<string> GetAllProvinceName()
{
List<string> _allProvinceName = new List<string>();
XmlDocument xmlDoc = ReadAndLoadXml();
//所有province节点
XmlNode provinces = xmlDoc.SelectSingleNode("province");
foreach (XmlNode province in provinces)
{
XmlElement _province = (XmlElement)province;
//所有provinceName添加到列表
allProvinceName.Add(_province.GetAttribute("name"));
}
Debug.Log("所有省数目"+allProvinceName.Count);
_allProvinceName = allProvinceName;
return _allProvinceName;
}
/// <summary>
/// 根据当前省ID返回当前省的所有城市名
/// </summary>
/// <param name="nowProvinceId"></param>
/// <returns></returns>
public static List<string> GetAllCityNameByNowProvinceId(string nowProvinceId)
{
List<string> nowAllCityName = new List<string>();
XmlDocument xmlDoc = ReadAndLoadXml();
//所有province节点
XmlNode provinces = xmlDoc.SelectSingleNode("province");
foreach (XmlNode province in provinces)
{
XmlElement _province = (XmlElement)province;
//当前城市id
if (nowProvinceId == _province.GetAttribute("id"))
{
foreach (XmlElement city in _province.ChildNodes)
{
XmlElement _city = (XmlElement)city;
//当前城市的所有cityName添加到列表
nowAllCityName.Add(_city.GetAttribute("name"));
}
}
}
return nowAllCityName;
}
/// <summary>
/// 根据省的ID返回省的名字
/// </summary>
/// <param name="provinceId"></param>
/// <returns></returns>
public static string GetProvinceName(string provinceId)
{
string _provinceName = "";
XmlDocument xmlDoc = ReadAndLoadXml();
//所有province节点
XmlNode provinces = xmlDoc.SelectSingleNode("province");
foreach (XmlNode province in provinces)
{
XmlElement _province = (XmlElement)province;
if (provinceId == _province.GetAttribute("id"))
{
//获取实际省名
_provinceName= _province.GetAttribute("name");
}
}
return _provinceName;
}
/// <summary>
/// 根据城市ID返会城市名字
/// </summary>
/// <param name="cityId"></param>
/// <returns></returns>
public static string GetCityName(string cityId)
{
string cityName="";
XmlDocument xmlDoc = ReadAndLoadXml();
//所有province节点
XmlNode provinces = xmlDoc.SelectSingleNode("province");
foreach (XmlNode province in provinces)
{
XmlElement _province = (XmlElement)province;
if (_nowProvinceId == _province.GetAttribute("id"))
{
foreach (XmlElement city in _province.ChildNodes)
{
XmlElement _city = (XmlElement)city;
if (cityId == _city.GetAttribute("id"))
{
//获取实际城市名
cityName = _city.GetAttribute("name");
}
}
}
}
return cityName;
}
}
}
[csharp]
view plaincopyprint?
using UnityEngine;
using System.Collections;
using System.Collections.Generic;
using Address;
public class FinalTest : MonoBehaviour {
// Use this for initialization
void Start ()
{
List<string> allp = new List<string>();
allp = AddressData.GetAllProvinceName();
Debug.Log(AddressData.allProvinceName.Count);
Debug.Log(allp.Count);
List<string> allCity = new List<string>();
allCity = AddressData.GetAllCityNameByNowProvinceId("01");
Debug.Log(allCity.Count);
for (int i = 0; i < allCity.Count; i++)
{
Debug.Log(allCity[i]);
}
string a = AddressData.GetProvinceName("02");
Debug.Log(a);
}
// Update is called once per frame
void Update()
{
}
}
[html]
view plaincopyprint?
<?xml version="1.0" encoding="utf-8"?> <province> <province id ="01" name="江苏"> <city id ="01" name ="南京"></city> <city id ="02" name ="镇江"></city> <city id ="03" name ="南通"></city> </province> <province id ="02" name="河南"> <city id ="01" name ="郑州"></city> <city id ="02" name ="开封"></city> <city id ="03" name ="洛阳"></city> </province> </province>
Unity3D读取XML文档信息
分类:
Unity3D
XML
C# 2013-07-11 11:00
5327人阅读 评论(0)收藏
举报
Unity3DXML
[csharp]
view plaincopyprint?
using System;
using UnityEngine;
using System.IO;
using System.Xml;
using System.Linq;
using System.Text;
using System.Collections.Generic;
namespace Address
{
/// <summary>
/// 地址数据
/// </summary>
public class AddressData
{
/// <summary>
///当前城市ID
/// </summary>
public static string _nowProvinceId;
/// <summary>
/// 所有省名字
/// </summary>
public static List<string> allProvinceName = new List<string>();
/// <summary>
/// 所有城市id
/// </summary>
public List<string> allCityId = new List<string>();
///<summary>
///所有城市名字
///</summary>
public List<string> allCityName = new List<string>();
public static string localUrl = Application.dataPath + "/XMLFile1.xml";
/// <summary>
/// 加载xml文档
/// </summary>
/// <returns></returns>
public static XmlDocument ReadAndLoadXml()
{
XmlDocument doc = new XmlDocument();
Debug.Log("加载xml文档");
doc.Load(localUrl);
return doc;
}
/// <summary>
/// 从本地加载xml并获取所有省的名字
/// </summary>
/// <param name="url"></param>
/// <returns></returns>
public static List<string> GetAllProvinceName()
{
List<string> _allProvinceName = new List<string>();
XmlDocument xmlDoc = ReadAndLoadXml();
//所有province节点
XmlNode provinces = xmlDoc.SelectSingleNode("province");
foreach (XmlNode province in provinces)
{
XmlElement _province = (XmlElement)province;
//所有provinceName添加到列表
allProvinceName.Add(_province.GetAttribute("name"));
}
Debug.Log("所有省数目"+allProvinceName.Count);
_allProvinceName = allProvinceName;
return _allProvinceName;
}
/// <summary>
/// 根据当前省ID返回当前省的所有城市名
/// </summary>
/// <param name="nowProvinceId"></param>
/// <returns></returns>
public static List<string> GetAllCityNameByNowProvinceId(string nowProvinceId)
{
List<string> nowAllCityName = new List<string>();
XmlDocument xmlDoc = ReadAndLoadXml();
//所有province节点
XmlNode provinces = xmlDoc.SelectSingleNode("province");
foreach (XmlNode province in provinces)
{
XmlElement _province = (XmlElement)province;
//当前城市id
if (nowProvinceId == _province.GetAttribute("id"))
{
foreach (XmlElement city in _province.ChildNodes)
{
XmlElement _city = (XmlElement)city;
//当前城市的所有cityName添加到列表
nowAllCityName.Add(_city.GetAttribute("name"));
}
}
}
return nowAllCityName;
}
/// <summary>
/// 根据省的ID返回省的名字
/// </summary>
/// <param name="provinceId"></param>
/// <returns></returns>
public static string GetProvinceName(string provinceId)
{
string _provinceName = "";
XmlDocument xmlDoc = ReadAndLoadXml();
//所有province节点
XmlNode provinces = xmlDoc.SelectSingleNode("province");
foreach (XmlNode province in provinces)
{
XmlElement _province = (XmlElement)province;
if (provinceId == _province.GetAttribute("id"))
{
//获取实际省名
_provinceName= _province.GetAttribute("name");
}
}
return _provinceName;
}
/// <summary>
/// 根据城市ID返会城市名字
/// </summary>
/// <param name="cityId"></param>
/// <returns></returns>
public static string GetCityName(string cityId)
{
string cityName="";
XmlDocument xmlDoc = ReadAndLoadXml();
//所有province节点
XmlNode provinces = xmlDoc.SelectSingleNode("province");
foreach (XmlNode province in provinces)
{
XmlElement _province = (XmlElement)province;
if (_nowProvinceId == _province.GetAttribute("id"))
{
foreach (XmlElement city in _province.ChildNodes)
{
XmlElement _city = (XmlElement)city;
if (cityId == _city.GetAttribute("id"))
{
//获取实际城市名
cityName = _city.GetAttribute("name");
}
}
}
}
return cityName;
}
}
}
using System; using UnityEngine; using System.IO; using System.Xml; using System.Linq; using System.Text; using System.Collections.Generic; namespace Address { /// <summary> /// 地址数据 /// </summary> public class AddressData { /// <summary> ///当前城市ID /// </summary> public static string _nowProvinceId; /// <summary> /// 所有省名字 /// </summary> public static List<string> allProvinceName = new List<string>(); /// <summary> /// 所有城市id /// </summary> public List<string> allCityId = new List<string>(); ///<summary> ///所有城市名字 ///</summary> public List<string> allCityName = new List<string>(); public static string localUrl = Application.dataPath + "/XMLFile1.xml"; /// <summary> /// 加载xml文档 /// </summary> /// <returns></returns> public static XmlDocument ReadAndLoadXml() { XmlDocument doc = new XmlDocument(); Debug.Log("加载xml文档"); doc.Load(localUrl); return doc; } /// <summary> /// 从本地加载xml并获取所有省的名字 /// </summary> /// <param name="url"></param> /// <returns></returns> public static List<string> GetAllProvinceName() { List<string> _allProvinceName = new List<string>(); XmlDocument xmlDoc = ReadAndLoadXml(); //所有province节点 XmlNode provinces = xmlDoc.SelectSingleNode("province"); foreach (XmlNode province in provinces) { XmlElement _province = (XmlElement)province; //所有provinceName添加到列表 allProvinceName.Add(_province.GetAttribute("name")); } Debug.Log("所有省数目"+allProvinceName.Count); _allProvinceName = allProvinceName; return _allProvinceName; } /// <summary> /// 根据当前省ID返回当前省的所有城市名 /// </summary> /// <param name="nowProvinceId"></param> /// <returns></returns> public static List<string> GetAllCityNameByNowProvinceId(string nowProvinceId) { List<string> nowAllCityName = new List<string>(); XmlDocument xmlDoc = ReadAndLoadXml(); //所有province节点 XmlNode provinces = xmlDoc.SelectSingleNode("province"); foreach (XmlNode province in provinces) { XmlElement _province = (XmlElement)province; //当前城市id if (nowProvinceId == _province.GetAttribute("id")) { foreach (XmlElement city in _province.ChildNodes) { XmlElement _city = (XmlElement)city; //当前城市的所有cityName添加到列表 nowAllCityName.Add(_city.GetAttribute("name")); } } } return nowAllCityName; } /// <summary> /// 根据省的ID返回省的名字 /// </summary> /// <param name="provinceId"></param> /// <returns></returns> public static string GetProvinceName(string provinceId) { string _provinceName = ""; XmlDocument xmlDoc = ReadAndLoadXml(); //所有province节点 XmlNode provinces = xmlDoc.SelectSingleNode("province"); foreach (XmlNode province in provinces) { XmlElement _province = (XmlElement)province; if (provinceId == _province.GetAttribute("id")) { //获取实际省名 _provinceName= _province.GetAttribute("name"); } } return _provinceName; } /// <summary> /// 根据城市ID返会城市名字 /// </summary> /// <param name="cityId"></param> /// <returns></returns> public static string GetCityName(string cityId) { string cityName=""; XmlDocument xmlDoc = ReadAndLoadXml(); //所有province节点 XmlNode provinces = xmlDoc.SelectSingleNode("province"); foreach (XmlNode province in provinces) { XmlElement _province = (XmlElement)province; if (_nowProvinceId == _province.GetAttribute("id")) { foreach (XmlElement city in _province.ChildNodes) { XmlElement _city = (XmlElement)city; if (cityId == _city.GetAttribute("id")) { //获取实际城市名 cityName = _city.GetAttribute("name"); } } } } return cityName; } } }
[csharp]
view plaincopyprint?
using UnityEngine;
using System.Collections;
using System.Collections.Generic;
using Address;
public class FinalTest : MonoBehaviour {
// Use this for initialization
void Start ()
{
List<string> allp = new List<string>();
allp = AddressData.GetAllProvinceName();
Debug.Log(AddressData.allProvinceName.Count);
Debug.Log(allp.Count);
List<string> allCity = new List<string>();
allCity = AddressData.GetAllCityNameByNowProvinceId("01");
Debug.Log(allCity.Count);
for (int i = 0; i < allCity.Count; i++)
{
Debug.Log(allCity[i]);
}
string a = AddressData.GetProvinceName("02");
Debug.Log(a);
}
// Update is called once per frame
void Update()
{
}
}
using UnityEngine; using System.Collections; using System.Collections.Generic; using Address; public class FinalTest : MonoBehaviour { // Use this for initialization void Start () { List<string> allp = new List<string>(); allp = AddressData.GetAllProvinceName(); Debug.Log(AddressData.allProvinceName.Count); Debug.Log(allp.Count); List<string> allCity = new List<string>(); allCity = AddressData.GetAllCityNameByNowProvinceId("01"); Debug.Log(allCity.Count); for (int i = 0; i < allCity.Count; i++) { Debug.Log(allCity[i]); } string a = AddressData.GetProvinceName("02"); Debug.Log(a); } // Update is called once per frame void Update() { } }
[html]
view plaincopyprint?
<?xml version="1.0" encoding="utf-8"?> <province> <province id ="01" name="江苏"> <city id ="01" name ="南京"></city> <city id ="02" name ="镇江"></city> <city id ="03" name ="南通"></city> </province> <province id ="02" name="河南"> <city id ="01" name ="郑州"></city> <city id ="02" name ="开封"></city> <city id ="03" name ="洛阳"></city> </province> </province>
<?xml version="1.0" encoding="utf-8"?> <province> <province id ="01" name="江苏"> <city id ="01" name ="南京"></city> <city id ="02" name ="镇江"></city> <city id ="03" name ="南通"></city> </province> <province id ="02" name="河南"> <city id ="01" name ="郑州"></city> <city id ="02" name ="开封"></city> <city id ="03" name ="洛阳"></city> </province> </province>
相关文章推荐
- unity3D读取XML文档信息
- unity3D读取XML文档信息
- Unity3D读取XML文档信息
- Unity3D读取XML文档信息
- unity3D读取XML文档信息
- Unity3D读取XML文档信息
- 读取xml文档中的信息
- JDOM入门实例:读取与创建xml文档
- 使用python批量读取word文档并整理关键信息到excel表格的实例
- asp.net中XML文档的写入和读取,以及转化数据集相关实例
- C#读取XML文档实例
- AJAX XML 实例 下面的例子将演示网页如何使用 AJAX 来读取来自 XML 文件的信息:
- 教授写的读取xml文件信息实例
- JDOM入门实例:读取与创建xml文档
- Unity3D(二)用反射、泛型读取XML后动态创建实例并赋值
- JavaScript 解析读取XML文档 实例代码
- JavaScript 解析读取XML文档 实例代码(转)
- js读取XML文档实例教程
- Jquery Ajax读取XML文档实现联动下拉框实例
- 根据XML文档读取连接数据库信息