C# 入門 & 実践 / C sharp

601-1. XML Xml文字列を解析する。


簡単なXml形式の文字列を読み込んで解析してみます。
一般的にはこれでOKでしょう。

        static void Main()
        {
            // xml 文字列
            string xml = "Jack42";

            XmlTextReader reader = new XmlTextReader( new StringReader(xml));
            while (reader.Read())
            {
                switch (reader.NodeType)
                {
                    case XmlNodeType.Element:
                        Console.WriteLine("Element : " + reader.Name);
                        if (reader.MoveToFirstAttribute())
                        {
                            // 属性を発見
                            Console.WriteLine("{0}={1}", reader.Name, reader.Value);
                        }
                        break;
                    case XmlNodeType.Text:
                        Console.WriteLine(" + Value : " + reader.Value);
                        break;
                    default :
                        break;
                }
            }
        }

結果はこんな感じで。

Element : response
Element : name
type=eng
 + Value : Jack
Element : age
 + Value : 42

データの少ないXmlであればこんな感じで手動で解析しても問題ないでしょう。

要素と値を別々にとっても意味無いので、少し変更。

        static void Main()
        {
            // xml 文字列
            string xml = "Jack42";

            XmlTextReader reader = new XmlTextReader( new StringReader(xml));
            reader.Read();
            while (!reader.EOF)
            {
                if (reader.IsStartElement("name"))
                {
                    Console.WriteLine("Name type = " + reader.GetAttribute("type") );
                    Console.WriteLine("Name - " + reader.ReadElementString("name") );
                }
                else if (reader.IsStartElement("age"))
                {
                    Console.WriteLine("Age - " + reader.ReadElementString("age") );
                }
                else
                {
                    reader.Read();
                }
            }
        }


Webサービスとの連携で値を表示するのに使うのですが
サーバ側はPHPなどで簡単にDBから抜き出すので良いと思います。

せっかくなのでAmazon・楽天・ビッダーズのWebサービスを利用してみましょう!




XML


C# 入門 & 実践 / C sharp