方法 : 文字列を解析する
このトピックでは、C# および Visual Basic で文字列を解析して XML ツリーを作成する方法について説明します。
使用例
次の C# コードは、文字列を解析する方法を示しています。
XElement contacts = XElement.Parse(
@"<Contacts>
<Contact>
<Name>Patrick Hines</Name>
<Phone Type=""home"">206-555-0144</Phone>
<Phone type=""work"">425-555-0145</Phone>
<Address>
<Street1>123 Main St</Street1>
<City>Mercer Island</City>
<State>WA</State>
<Postal>68042</Postal>
</Address>
<NetWorth>10</NetWorth>
</Contact>
<Contact>
<Name>Gretchen Rivas</Name>
<Phone Type=""mobile"">206-555-0163</Phone>
<Address>
<Street1>123 Main St</Street1>
<City>Mercer Island</City>
<State>WA</State>
<Postal>68042</Postal>
</Address>
<NetWorth>11</NetWorth>
</Contact>
</Contacts>");
Console.WriteLine(contacts);
Visual Basic でも同様の方法で文字列を解析できます。 ただし、次のコードに示すように XML リテラルを使用する方が効率的です。これは、XML リテラルでは、文字列から XML を解析する場合のようなパフォーマンスの低下がないためです。
XML リテラルを使用すると、XML を Visual Basic プログラムに単にコピーして貼り付けることができます。
注意
テキストの解析や、テキスト ファイルからの XML ドキュメントの読み込みは、関数型構築より非効率的です。 XML ツリーをコードから初期化すると、関数型構築で必要となるプロセッサ時間は、テキストの解析に比べて短くなります。
Dim contacts as XElement = _
<Contacts>
<Contact>
<Name>Patrick Hines</Name>
<Phone Type="home">206-555-0144</Phone>
<Phone Type="work">425-555-0145</Phone>
<Address>
<Street1>123 Main St</Street1>
<City>Mercer Island</City>
<State>WA</State>
<Postal>68042</Postal>
</Address>
<NetWorth>10</NetWorth>
</Contact>
<Contact>
<Name>Gretchen Rivas</Name>
<Phone Type="mobile">206-555-0163</Phone>
<Address>
<Street1>123 Main St</Street1>
<City>Mercer Island</City>
<State>WA</State>
<Postal>68042</Postal>
</Address>
<NetWorth>11</NetWorth>
</Contact>
</Contacts>