C#
 Computer >> コンピューター >  >> プログラミング >> C#

C#で文字列からXDocumentにXMLデータを読み込む方法

XMLは自己記述型の言語であり、データそのものに加えて、その情報が何を意味するのかを識別するためのルールも併せて提供します。HTMLと同様に、XMLはSGML(Standard Generalized Markup Language:標準汎用マークアップ言語)のサブセットです。

XDocumentクラスには、有効なXMLドキュメントとして成立させるために必要な情報が格納されます。具体的には、XML宣言、処理命令、コメントなどが含まれます。

XDocumentを使うべきケースとは?

注意すべき点として、XDocumentクラスが提供する特定の機能が必要な場合にのみXDocumentオブジェクトを作成すれば十分です。多くの場面ではXElementを直接扱うことができ、こちらの方がよりシンプルなプログラミングモデルになります。

XDocumentはXContainerクラスから派生しているため、子ノードを持つことが可能です。ただし、XDocumentオブジェクトが持てる子XElementノードは1つだけという制限があります。これは、「XMLドキュメント内にはルート要素が1つしか存在できない」というXML標準の仕様を反映した設計です。XDocumentは System.Xml.Linq 名前空間で利用できます。

例1:文字列からXDocumentを生成する

まずは、XML形式の文字列をXDocumentとして読み込むケースを見てみましょう。XDocument.Parse() メソッドを使用します。

<Departments>
    <Department>Account</Department>
    <Department>Sales</Department>
    <Department>Pre-Sales</Department>
    <Department>Marketing</Department>
</Departments>

using System;
using System.Xml.Linq;

namespace DemoApplication{
    public class Program{
        public static void Main(){
            string xmlString = @"<Departments>
                <Department>Account</Department>
                <Department>Sales</Department>
                <Department>Pre-Sales</Department>
                <Department>Marketing</Department>
            </Departments>";

            XDocument xml = XDocument.Parse(xmlString);
            Console.ReadLine();
        }
    }
}

例2:XMLファイルからXDocumentを読み込む

同様に、XMLを含むファイルからXDocumentを生成したい場合は、XDocument.Load(path) メソッドを使用します。

using System;
using System.Xml.Linq;

namespace DemoApplication{
    public class Program{
        public static void Main(){
            string xmlPath = @"D:\DemoXml.txt";

            XDocument xml = XDocument.Load(xmlPath);
            Console.ReadLine();
        }
    }
}

実行結果

上記のどちらの方法でも、XML文字列(またはファイル)の内容は以下のようにXDocumentオブジェクトへ変換されます。

C#で文字列からXDocumentにXMLデータを読み込む方法

まとめ

C#でXMLデータを扱う際は、メモリ上の文字列から変換する場合は XDocument.Parse()、ファイルから読み込む場合は XDocument.Load() を使うのが基本です。ルート要素が1つしか持てない点など、XDocumentの特性を理解しておくことで、LINQ to XMLを活用した柔軟なXML操作が可能になります。

  1. JavaScriptの配列を文字列に変換する方法【toString()の使い方を解説】

    JavaScriptで配列の要素をひとつの文字列として扱いたい場面はよくあります。そんなときに便利なのがtoString()メソッドです。このメソッドを使うと、配列の各要素がカンマ(,)で区切られたひとつの文字列に変換されます。以下は、ボタンをクリックすると配列の中身が文字列として画面に表示されるシンプルなサンプルコードです。サンプルコード<!DOCTYPE html> <html lang=ja> <head> <meta charset=UTF-8 /> <meta name=viewport content=width=device-

  2. 【Android入門】strings.xmlから値を読み取る方法を初心者向けに解説

    はじめに このチュートリアルでは、Androidアプリでstrings.xml(文字列リソースファイル)に定義した値を読み取り、画面に表示する方法を段階的に解説します。文字列をリソースファイルで一元管理することで、多言語対応や保守性の向上にもつながるため、Android開発における基本的なテクニックの一つです。 ステップ1:新規プロジェクトを作成する Android Studioを起動し、メニューから「File」→「New Project」を選択します。プロジェクト名やパッケージ名、保存先などの必要な項目を入力して、新しいプロジェクトを作成しましょう。 ステップ2:strings.xmlに文字