UnityでXMLを扱う


前回のjsonに引き続きXMLの読み込みのテスト。
この辺はFlashと同じような扱いでできた。
XMLをDOMとして扱うのであればこれでいいんだけど、SAXとして扱う場合はXmlReader.Create()を使うと思う…けどよく分からなかったけどこの辺が参考になるのかしら。

DOMのサンプル。

<?xml version="1.0" encoding="UTF-8"?>
<persons>
	<person id="1">
		<name><![CDATA[John]]></name>
		<age>23</age>
		<married>true</married>
	</person>
	<person id="2">
		<name><![CDATA[Bob]]></name>
		<age>32</age>
		<married>true</married>
	</person>
</persons>
using UnityEngine;
using System.Collections;
using System.Xml;

public class XMLTest : MonoBehaviour {
	public void Start() {
		TextAsset xmlTextAsset = Instantiate(Resources.Load("persons")) as TextAsset;
		XmlDocument xmlDoc = new XmlDocument();
		xmlDoc.LoadXml(xmlTextAsset.text);
		
		XmlNodeList nodes = xmlDoc.GetElementsByTagName("person");

		foreach (XmlNode node in nodes) {
			Debug.Log("id : " + node.Attributes.GetNamedItem("id").Value);
			XmlNode childNode = node.FirstChild;
			int count = 0;
			do {
				if (++count > 10) break;
				Debug.Log(childNode.Name + " : " + childNode.FirstChild.Value);
			} while ((childNode = childNode.NextSibling) != null);
		}
	}
}

>>プロジェクトファイルダウンロード

“UnityでXMLを扱う” への1件のフィードバック

コメントを残す