.NET Framework の System.Xml を使う。
XMLサンプル
<talks>
<talk person="2">
<speak content="こんにちは" num="1" />
<speak content="ありがとう" num="2" />
<speak content="さようなら" num="3" />
</talk>
<talk person="1">
<speak content="あーい" num="4" />
<speak content="ふーい" num="5" />
<speak content="ねむい" num="6" />
</talk>
</talks>
スクリプト
上記のXMLをstring型で渡す。
using UnityEngine;
using System.Xml;
using System.IO;
public class SampleMain {
public void XmlPerse ( string xmlString ) { // string型で渡ってきたとする
XmlDocument xmlDoc = new XmlDocument();
xmlDoc.Load(new StringReader(xmlString));
XmlNode root = xmlDoc.FirstChild;
XmlNodeList talkList = xmlDoc.GetElementsByTagName("talk");
XmlNode talk0 = talkList[0];
XmlNode talk1 = talkList[1];
XmlNodeList speakList0 = talk0.ChildNodes;
XmlNodeList speakList1 = talk1.ChildNodes;
Debug.Log( root.Name ); // talks
Debug.Log( talk0.Attributes["person"].Value ); // 2
Debug.Log( talk1.Attributes["person"].Value ); // 1
Debug.Log( speakList0[0].Attributes["content"].Value ); // こんにちは
Debug.Log( speakList0[1].Attributes["content"].Value ); // ありがとう
Debug.Log( speakList0[2].Attributes["content"].Value ); // さようなら
Debug.Log( speakList0[0].Attributes["num"].Value ); // 1
Debug.Log( speakList0[1].Attributes["num"].Value ); // 2
Debug.Log( speakList0[2].Attributes["num"].Value ); // 3
Debug.Log( speakList1[0].Attributes["content"].Value ); // あーい
Debug.Log( speakList1[1].Attributes["content"].Value ); // ふーい
Debug.Log( speakList1[2].Attributes["content"].Value ); // ねむい
Debug.Log( speakList1[0].Attributes["num"].Value ); // 4
Debug.Log( speakList1[1].Attributes["num"].Value ); // 5
Debug.Log( speakList1[2].Attributes["num"].Value ); // 6
}
}
さらに細かい使い方は下記URLを参考にしよう。
System.Xml 名前空間 ()
http://msdn.microsoft.com/ja-jp/library/System.Xml(v=vs.100).aspx