ゲームが作れるようになるまでがんばる日記

ゲーム制作のことを中心にゲームに関することを書いています

XMLの読み込み その2

前回(id:toburau:20080115)書いたプログラムでは、XMLファイルが想定したもの以外では正しく動作しない。ということでelementを確認しながら読み込む方法。

<?xml version="1.0" encoding="utf-8"?>
<width>100</width>
<height>100</height>

このようなXMLファイルからwidthとheightの値を取得するプログラムは次の通り。

int width;
int height;

XmlReaderSettings settings = new XmlReaderSettings();
settings.IgnoreWhitespace = true;
settings.IgnoreComments = true;
XmlReader reader = XmlReader.Create("test.xml", settings);

reader.Read();
while ( !reader.EOF )
{
    if (reader.IsStartElement("width"))
    {
        width = int.Parse(reader.ReadElementString("width"));
    }
    else if (reader.IsStartElement("height"))
    {
        height = int.Parse(reader.ReadElementString("height"));
    }
    else
    {
        reader.Read();
    }
}
reader.Close();

IsStartElement()でelementがあるか確認し、存在していたらReadElementString()で読み込めば良い。