newXML.xml文件路径和代码:
代码:
<?xml version="1.0" encoding="utf-8"?>
<Data>
<Part1 name="第一部分">
<Id1>111111111111111111111111111</Id1>
<Id2>222222222222222222222222222222</Id2>
<Id3>33333333333333333333333333333333333</Id3>
<Id4>444444444444444444444444444444444444</Id4>
<Id5>55555555555555555555555555555555555555</Id5>
<Id6>666666666666666666666666666666666666666666666666666</Id6>
</Part1>
<Part2 name="第二部分">
<age>10</age>
<sex>woman</sex>
</Part2>
<Part3 name="第三部分">
<age>15</age>
<sex>woman</sex>
</Part3>
</Data>
主要控制逻辑
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using System.Xml;
using UnityEngine.UI;
public class NewBehaviourScript : MonoBehaviour
{
public Text [] textContent;
private void Start()
{
//声明一个XML文件
XmlDocument document = new XmlDocument();
//加载XML文件
TextAsset xmlFile = Resources.Load<TextAsset>("newXML");
document.LoadXml(xmlFile.text);
XmlElement root = document.DocumentElement;//根节点
//Debug.Log(root.Name);
XmlNodeList nodeList = document.SelectSingleNode("Data").ChildNodes;//将根节点的子节点全部放入列表中
XmlElement elementStudent1 = (XmlElement)nodeList[0];
XmlElement elementStudent2 = (XmlElement)nodeList[1];
Debug.Log("第一个子元素是:"+elementStudent1.GetAttribute("name"));
Debug.Log("第二个子元素是:"+elementStudent2.GetAttribute("name"));
Debug.Log("Game视图赋值给所有的Text第一个子元素的子元素");
for(int i = 0; i < elementStudent1.ChildNodes.Count; i++)
{
textContent[i].text = elementStudent1.ChildNodes[i].InnerText;
}
Debug.Log("控制台输出第二个子元素的子元素");
foreach (XmlElement element in elementStudent2.ChildNodes)
{
Debug.Log(element.InnerText);
}
}
}
运行结果