Xml文件为:
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<root xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<item ID="1">
<surname>赵</surname>
<man>夷</man>
<woman>妃</woman>
</item>
<item ID="2">
<surname>孙</surname>
<man>洛</man>
<woman>羽</woman>
</item>
<item ID="3">
<surname>李</surname>
<man>乐</man>
<woman>青</woman>
</item>
<item ID="4">
<surname>周</surname>
<man>锋</man>
<woman>月</woman>
</item>
</root>
解析C#文件内容为:
private List<string> surnameList = new List<string>();
private List<string> manList = new List<string>();
private List<string> womanList = new List<string>();
private void InitRdNameCfg()
{
//1、第一步读取XML文件为TextAsset信息存入实例textAs中
TextAsset textAs = Resources.Load<TextAsset>(PathDefine.RdNameCfg);
if (!textAs)
{
Debug.Log("xml file:" + PathDefine.RdNameCfg + " not exist!");
}
else
{
//2、通过xmlDocument的实例使用LoadXml()方法读取textAs.text信息,解析为XmlDocment信息并存入实例xmlDoc
XmlDocument xmlDoc = new XmlDocument();
xmlDoc.LoadXml(textAs.text);
//3、利用xmlDoc的SelectSingleNode()方法读取root根节点。并使用这个节点实例的ChildNodes属性读取
//到整个root的所有子节点,存放在XmlNodeList实例中
XmlNodeList nodeList = xmlDoc.SelectSingleNode("root").ChildNodes;
//遍历nodelist得到xmlelement
foreach (XmlElement item in nodeList)
{
if (item.GetAttribute("ID")=="")
{
continue;
}
foreach (XmlElement e in item.ChildNodes)
{
switch (e.Name)
{
case "surname":
surnameList.Add(e.InnerText);
break;
case "man":
manList.Add(e.InnerText);
break;
case "woman":
womanList.Add(e.InnerText);
break;
}
}
}
}