XElement.Load メソッド

定義

URI で指定されたファイル、XElement、またはTextReaderから新しいXmlReaderを作成します。

オーバーロード

名前 説明
Load(TextReader, LoadOptions)

XElementからTextReaderを読み込み、必要に応じて空白を保持し、行情報を保持します。

Load(XmlReader, LoadOptions)

XElementからXmlReaderを読み込み、必要に応じて空白を保持し、ベース URI を設定し、行情報を保持します。

Load(String, LoadOptions)

ファイルから XElement を読み込み、必要に応じて空白を保持し、ベース URI を設定し、行情報を保持します。

Load(Stream, LoadOptions)

指定したストリームを使用して新しい XElement インスタンスを作成し、必要に応じて空白を保持し、ベース URI を設定し、行情報を保持します。

Load(TextReader)

XElementからTextReaderを読み込みます。

Load(String)

ファイルから XElement を読み込みます。

Load(Stream)

指定したストリームを使用して、新しい XElement インスタンスを作成します。

Load(XmlReader)

XElementからXmlReaderを読み込みます。

注釈

このメソッドのいずれかのオーバーロードを使用して、ファイル、XElement、またはTextReaderからXmlReaderを読み込むことができます。

XML を含む文字列から XElement を作成するには、 Parseを使用します。

Load(TextReader, LoadOptions)

ソース:
XElement.cs
ソース:
XElement.cs
ソース:
XElement.cs
ソース:
XElement.cs
ソース:
XElement.cs

XElementからTextReaderを読み込み、必要に応じて空白を保持し、行情報を保持します。

public:
 static System::Xml::Linq::XElement ^ Load(System::IO::TextReader ^ textReader, System::Xml::Linq::LoadOptions options);
public static System.Xml.Linq.XElement Load(System.IO.TextReader textReader, System.Xml.Linq.LoadOptions options);
static member Load : System.IO.TextReader * System.Xml.Linq.LoadOptions -> System.Xml.Linq.XElement
Public Shared Function Load (textReader As TextReader, options As LoadOptions) As XElement

パラメーター

textReader
TextReader

TextReaderコンテンツに対して読み取られるXElement

options
LoadOptions

空白の動作、およびベース URI と行情報を読み込むかどうかを指定する LoadOptions

返品

指定したXElementから読み取られた XML を含むTextReader

次の例では、2 つの異なる方法でXElementからStringReaderを読み込みます。空白を保持する方法と、空白を保持しない方法です。 その後、クエリを使用して、結果の XML ツリー内の空白ノードの数を決定します。

TextReader sr;
int whiteSpaceNodes;

sr = new StringReader("<Root> <Child> </Child> </Root>");
XElement xmlTree1 = XElement.Load(sr, LoadOptions.None);
sr.Close();
whiteSpaceNodes = xmlTree1
    .DescendantNodesAndSelf()
    .OfType<XText>()
    .Where(tNode => tNode.ToString().Trim().Length == 0)
    .Count();
Console.WriteLine("Count of white space nodes (not preserving whitespace): {0}", whiteSpaceNodes);

sr = new StringReader("<Root> <Child> </Child> </Root>");
XElement xmlTree2 = XElement.Load(sr, LoadOptions.PreserveWhitespace);
sr.Close();
whiteSpaceNodes = xmlTree2
    .DescendantNodesAndSelf()
    .OfType<XText>()
    .Where(tNode => tNode.ToString().Trim().Length == 0)
    .Count();
Console.WriteLine("Count of white space nodes (preserving whitespace): {0}", whiteSpaceNodes);
Dim sr As TextReader
Dim whiteSpaceNodes As Integer

sr = New StringReader("<Root> <Child> </Child> </Root>")
Dim xmlTree1 As XElement = XElement.Load(sr, LoadOptions.None)
sr.Close()
whiteSpaceNodes = xmlTree1 _
    .DescendantNodesAndSelf() _
    .OfType(Of XText)() _
    .Where(Function(ByVal tNode As XNode) tNode.ToString().Trim().Length = 0) _
    .Count()
Console.WriteLine("Count of white space nodes (not preserving whitespace): {0}", whiteSpaceNodes)

sr = New StringReader("<Root> <Child> </Child> </Root>")
Dim xmlTree2 As XElement = XElement.Load(sr, LoadOptions.PreserveWhitespace)
sr.Close()
whiteSpaceNodes = xmlTree2 _
    .DescendantNodesAndSelf() _
    .OfType(Of XText)() _
    .Where(Function(ByVal tNode As XNode) tNode.ToString().Trim().Length = 0) _
    .Count()
Console.WriteLine("Count of white space nodes (preserving whitespace): {0}", whiteSpaceNodes)

この例を実行すると、次の出力が生成されます。

Count of white space nodes (not preserving whitespace): 0
Count of white space nodes (preserving whitespace): 3

次の例では、 TextReaderから読み込まれるとき、行情報を読み込みます。 その後、行情報が出力されます。

TextReader sr = new StringReader(
@"<Root>
  <Child>
    <GrandChild1/>
    <GrandChild2/>
  </Child>
</Root>");
XElement po = XElement.Load(sr,
    LoadOptions.SetLineInfo);
Console.WriteLine("{0}{1}{2}",
    "Element Name".PadRight(20),
    "Line".PadRight(5),
    "Position");
Console.WriteLine("{0}{1}{2}",
    "------------".PadRight(20),
    "----".PadRight(5),
    "--------");
foreach (XElement e in po.DescendantsAndSelf())
    Console.WriteLine("{0}{1}{2}",
        ("".PadRight(e.Ancestors().Count() * 2) + e.Name).PadRight(20),
        ((IXmlLineInfo)e).LineNumber.ToString().PadRight(5),
        ((IXmlLineInfo)e).LinePosition);
Dim sr As TextReader = New StringReader( _
    "<Root>" & Environment.NewLine & _
    "  <Child>" & Environment.NewLine & _
    "    <GrandChild1/>" & Environment.NewLine & _
    "    <GrandChild2/>" & Environment.NewLine & _
    "  </Child>" & Environment.NewLine & _
    "</Root>")
Dim po As XElement = XElement.Load(sr, LoadOptions.SetLineInfo)
Console.WriteLine("{0}{1}{2}", _
    "Element Name".PadRight(20), _
    "Line".PadRight(5), _
    "Position")
Console.WriteLine("{0}{1}{2}", _
    "------------".PadRight(20), _
    "----".PadRight(5), _
    "--------")
For Each e As XElement In po.DescendantsAndSelf()
    Console.WriteLine("{0}{1}{2}", _
        ("".PadRight(e.Ancestors().Count() * 2) & e.Name.ToString).PadRight(20), _
        (DirectCast(e, IXmlLineInfo)).LineNumber.ToString().PadRight(5), _
        (DirectCast(e, IXmlLineInfo)).LinePosition)
Next

この例を実行すると、次の出力が生成されます。

Element Name        Line Position
------------        ---- --------
Root                1    2
  Child             2    4
    GrandChild1     3    6
    GrandChild2     4    6

注釈

ソース XML がインデントされている場合、PreserveWhitespaceoptions フラグを設定すると、リーダーはソース XML 内のすべての空白を読み取ります。 XText型のノードは、重要な空白と重要でない空白の両方に対して作成されます。

ソース XML がインデントされている場合、PreserveWhitespaceoptions フラグを設定しないと、リーダーはソース XML 内の重要でない空白をすべて無視します。 XML ツリーは、重要でない空白のテキスト ノードなしで作成されます。

ソース XML がインデントされていない場合、PreserveWhitespaceoptions フラグを設定しても効果はありません。 重要な空白は引き続き保持され、空白テキスト ノードの作成を引き起こす可能性がある重要でない空白のスパンはありません。

詳細については、「XML の 読み込みまたは解析中に空白を保持する 」および「 シリアル化中に空白を保持する」を参照してください。

Parseを使用して、XML を含む文字列からXElementを作成します。

SetBaseUriを設定しても、TextReaderから読み込むときに効果はありません。

SetLineInfo フラグを設定すると、パフォーマンスが低下します。

行情報は、XML ドキュメントを読み込んだ直後に正確です。 ドキュメントの読み込み後に XML ツリーを変更すると、行情報が意味をなさなくなる可能性があります。

LINQ to XML の読み込み機能は、 XmlReaderに基づいて構築されています。 そのため、 XmlReader.Create オーバーロード メソッドと、ドキュメントを読み取って解析する XmlReader メソッドによってスローされる例外をキャッチできます。

こちらもご覧ください

適用対象

Load(XmlReader, LoadOptions)

ソース:
XElement.cs
ソース:
XElement.cs
ソース:
XElement.cs
ソース:
XElement.cs
ソース:
XElement.cs

XElementからXmlReaderを読み込み、必要に応じて空白を保持し、ベース URI を設定し、行情報を保持します。

public:
 static System::Xml::Linq::XElement ^ Load(System::Xml::XmlReader ^ reader, System::Xml::Linq::LoadOptions options);
public static System.Xml.Linq.XElement Load(System.Xml.XmlReader reader, System.Xml.Linq.LoadOptions options);
static member Load : System.Xml.XmlReader * System.Xml.Linq.LoadOptions -> System.Xml.Linq.XElement
Public Shared Function Load (reader As XmlReader, options As LoadOptions) As XElement

パラメーター

reader
XmlReader

XmlReaderのコンテンツに対して読み取られるXElement

options
LoadOptions

空白の動作、およびベース URI と行情報を読み込むかどうかを指定する LoadOptions

返品

指定したXElementから読み取られた XML を含むXmlReader

次の例では、 XmlReaderから読み込まれる行情報を読み込みます。 その後、行情報が出力されます。

string markup =
@"<Root>
    <Child>
        <GrandChild/>
    </Child>
</Root>";

// Create a reader and move to the content.
using (XmlReader nodeReader = XmlReader.Create(new StringReader(markup)))
{
    // the reader must be in the Interactive state in order to
    // Create a LINQ to XML tree from it.
    nodeReader.MoveToContent();

    XElement xRoot = XElement.Load(nodeReader, LoadOptions.SetLineInfo);
    Console.WriteLine("{0}{1}{2}",
        "Element Name".PadRight(20),
        "Line".PadRight(5),
        "Position");
    Console.WriteLine("{0}{1}{2}",
        "------------".PadRight(20),
        "----".PadRight(5),
        "--------");
    foreach (XElement e in xRoot.DescendantsAndSelf())
        Console.WriteLine("{0}{1}{2}",
            ("".PadRight(e.Ancestors().Count() * 2) + e.Name).PadRight(20),
            ((IXmlLineInfo)e).LineNumber.ToString().PadRight(5),
            ((IXmlLineInfo)e).LinePosition);
}
Dim markup As String = _
    "<Root>" & Environment.NewLine & _
    "    <Child>" & Environment.NewLine & _
    "        <GrandChild/>" & Environment.NewLine & _
    "    </Child>" & Environment.NewLine & _
    "</Root>"

' Create a reader and move to the content.
Using nodeReader As XmlReader = XmlReader.Create(New StringReader(markup))

    ' the reader must be in the Interactive state in order to
    ' Create a LINQ to XML tree from it.
    nodeReader.MoveToContent()

    Dim xRoot As XElement = XElement.Load(nodeReader, LoadOptions.SetLineInfo)
    Console.WriteLine("{0}{1}{2}", _
        "Element Name".PadRight(20), _
        "Line".PadRight(5), _
        "Position")
    Console.WriteLine("{0}{1}{2}", _
        "------------".PadRight(20), _
        "----".PadRight(5), _
        "--------")
    For Each e As XElement In xRoot.DescendantsAndSelf()
        Console.WriteLine("{0}{1}{2}", _
            ("".PadRight(e.Ancestors().Count() * 2) & e.Name.ToString).PadRight(20), _
            (DirectCast(e, IXmlLineInfo)).LineNumber.ToString().PadRight(5), _
            (DirectCast(e, IXmlLineInfo)).LinePosition)
    Next
End Using

この例を実行すると、次の出力が生成されます。

Element Name        Line Position
------------        ---- --------
Root                1    2
  Child             2    6
    GrandChild      3    10

注釈

DOM ドキュメントから XmlNodeReader を作成し、 XmlNodeReader を使用して XElementを作成することで、このメソッドを使用して LINQ to XML ツリーに DOM ドキュメントのコピーを作成できます。

Parseを使用して、XML を含む文字列からXElementを作成します。

PreserveWhitespaceから読み込む場合、XmlReaderの設定は無効です。 XmlReaderは、空白文字を読み取るか、読み取らないかのどちらかに構成されます。 LINQ to XML ツリーには、リーダーが表示する空白ノードが設定されます。 これは、 PreserveWhitespace が設定されているかどうかに関係なく動作になります。

XmlReaderには有効なベース URI が含まれているかどうかがあります。 SetBaseUri設定した場合、ベース URI は、XmlReaderによって報告されるベース URI から XML ツリーに設定されます。

XmlReaderには、有効な行情報が含まれているかどうかがあります。 SetLineInfo設定すると、XmlReaderによって報告される行情報から XML ツリーに行情報が設定されます。

SetLineInfo フラグを設定すると、パフォーマンスが低下します。

行情報は、XML ドキュメントを読み込んだ直後に正確です。 ドキュメントの読み込み後に XML ツリーを変更すると、行情報が意味をなさなくなる可能性があります。

LINQ to XML の読み込み機能は、 XmlReaderに基づいて構築されています。 そのため、 XmlReader.Create オーバーロード メソッドと、ドキュメントを読み取って解析する XmlReader メソッドによってスローされる例外をキャッチできます。

こちらもご覧ください

適用対象

Load(String, LoadOptions)

ソース:
XElement.cs
ソース:
XElement.cs
ソース:
XElement.cs
ソース:
XElement.cs
ソース:
XElement.cs

ファイルから XElement を読み込み、必要に応じて空白を保持し、ベース URI を設定し、行情報を保持します。

public:
 static System::Xml::Linq::XElement ^ Load(System::String ^ uri, System::Xml::Linq::LoadOptions options);
public static System.Xml.Linq.XElement Load(string uri, System.Xml.Linq.LoadOptions options);
static member Load : string * System.Xml.Linq.LoadOptions -> System.Xml.Linq.XElement
Public Shared Function Load (uri As String, options As LoadOptions) As XElement

パラメーター

uri
String

XElementに読み込むファイルを参照する URI 文字列。

options
LoadOptions

空白の動作、およびベース URI と行情報を読み込むかどうかを指定する LoadOptions

返品

指定したファイルの内容を格納する XElement

次の例では、2 つの異なる方法でファイルから XElement を読み込みます。空白を保持する方法と、空白を保持しない方法です。 その後、クエリを使用して、結果の XML ツリー内の空白ノードの数を決定します。

XElement xmlTree1 = XElement.Parse("<Root> <Child>  </Child> </Root>", LoadOptions.PreserveWhitespace);
xmlTree1.Save("Tree.xml");
Console.WriteLine(xmlTree1);

int whiteSpaceNodes;
XElement xmlTree2 = XElement.Load("Tree.xml",
    LoadOptions.None);
whiteSpaceNodes = xmlTree2
    .DescendantNodesAndSelf()
    .OfType<XText>()
    .Where(tNode => tNode.ToString().Trim().Length == 0)
    .Count();
Console.WriteLine("Count of white space nodes (not preserving whitespace): {0}", whiteSpaceNodes);

XElement xmlTree3 = XElement.Load("Tree.xml",
    LoadOptions.PreserveWhitespace);
whiteSpaceNodes = xmlTree3
    .DescendantNodesAndSelf()
    .OfType<XText>()
    .Where(tNode => tNode.ToString().Trim().Length == 0)
    .Count();
Console.WriteLine("Count of white space nodes (preserving whitespace): {0}", whiteSpaceNodes);
Dim xmlTree1 As XElement = XElement.Parse("<Root> <Child>  </Child> </Root>", LoadOptions.PreserveWhitespace)
xmlTree1.Save("Tree.xml")
Console.WriteLine(xmlTree1)

Dim whiteSpaceNodes As Integer
Dim xmlTree2 As XElement = XElement.Load("Tree.xml", LoadOptions.None)
whiteSpaceNodes = xmlTree2 _
                  .DescendantNodesAndSelf() _
                  .OfType(Of XText)() _
                  .Where(Function(ByVal tNode As XNode) tNode.ToString().Trim().Length = 0) _
                  .Count()
Console.WriteLine("Count of white space nodes (not preserving whitespace): {0}", whiteSpaceNodes)

Dim xmlTree3 As XElement = XElement.Load("Tree.xml", LoadOptions.PreserveWhitespace)
whiteSpaceNodes = xmlTree3 _
                  .DescendantNodesAndSelf() _
                  .OfType(Of XText)() _
                  .Where(Function(ByVal tNode As XNode) tNode.ToString().Trim().Length = 0) _
                  .Count()
Console.WriteLine("Count of white space nodes (preserving whitespace): {0}", whiteSpaceNodes)

この例を実行すると、次の出力が生成されます。

<Root> <Child>  </Child> </Root>
Count of white space nodes (not preserving whitespace): 0
Count of white space nodes (preserving whitespace): 3

次の例では、ファイルの読み込み時にベース URI と行情報を読み込みます。 次に、ベース URI と行情報を出力します。

この例では、サンプル XML ファイル: 一般的な発注書 (LINQ to XML) というリソース ファイルを使用します。

XElement po = XElement.Load("PurchaseOrder.xml",
    LoadOptions.SetBaseUri | LoadOptions.SetLineInfo);
string[] splitUri = po.BaseUri.Split('/');
Console.WriteLine("BaseUri: {0}", splitUri[splitUri.Length - 1]);
Console.WriteLine();
Console.WriteLine("{0}{1}{2}",
    "Element Name".PadRight(20),
    "Line".PadRight(5),
    "Position");
Console.WriteLine("{0}{1}{2}",
    "------------".PadRight(20),
    "----".PadRight(5),
    "--------");
foreach (XElement e in po.DescendantsAndSelf())
    Console.WriteLine("{0}{1}{2}",
        ("".PadRight(e.Ancestors().Count() * 2) + e.Name).PadRight(20),
        ((IXmlLineInfo)e).LineNumber.ToString().PadRight(5),
        ((IXmlLineInfo)e).LinePosition);
Dim po As XElement = XElement.Load("PurchaseOrder.xml", LoadOptions.SetBaseUri Or LoadOptions.SetLineInfo)
Dim splitUri() As String = po.BaseUri.Split("/")
Console.WriteLine("BaseUri: {0}", splitUri(splitUri.Length - 1))
Console.WriteLine()
Console.WriteLine("{0}{1}{2}", _
    "Element Name".PadRight(20), _
    "Line".PadRight(5), _
    "Position")
Console.WriteLine("{0}{1}{2}", _
    "------------".PadRight(20), _
    "----".PadRight(5), _
    "--------")
For Each e As XElement In po.DescendantsAndSelf()
    Console.WriteLine("{0}{1}{2}", _
        ("".PadRight(e.Ancestors().Count() * 2) & e.Name.ToString()).PadRight(20), _
        (DirectCast(e, IXmlLineInfo)).LineNumber.ToString().PadRight(5), _
        (DirectCast(e, IXmlLineInfo)).LinePosition)
Next

この例を実行すると、次の出力が生成されます。

BaseUri: PurchaseOrder.xml

Element Name        Line Position
------------        ---- --------
PurchaseOrder       2    2
  Address           3    4
    Name            4    6
    Street          5    6
    City            6    6
    State           7    6
    Zip             8    6
    Country         9    6
  Address           11   4
    Name            12   6
    Street          13   6
    City            14   6
    State           15   6
    Zip             16   6
    Country         17   6
  DeliveryNotes     19   4
  Items             20   4
    Item            21   6
      ProductName   22   8
      Quantity      23   8
      USPrice       24   8
      Comment       25   8
    Item            27   6
      ProductName   28   8
      Quantity      29   8
      USPrice       30   8
      ShipDate      31   8

注釈

ソース XML がインデントされている場合、PreserveWhitespaceoptions フラグを設定すると、リーダーはソース XML 内のすべての空白を読み取ります。 XText型のノードは、重要な空白と重要でない空白の両方に対して作成されます。

ソース XML がインデントされている場合、PreserveWhitespaceoptions フラグを設定しないと、リーダーはソース XML 内の重要でない空白をすべて無視します。 XML ツリーは、重要でない空白のテキスト ノードなしで作成されます。

ソース XML がインデントされていない場合、PreserveWhitespaceoptions フラグを設定しても効果はありません。 重要な空白は引き続き保持され、空白テキスト ノードの作成を引き起こす可能性がある重要でない空白のスパンはありません。

詳細については、「XML の 読み込みまたは解析中に空白を保持する 」および「 シリアル化中に空白を保持する」を参照してください。

Parseを使用して、XML を含む文字列からXElementを作成します。

SetBaseUriフラグとSetLineInfo フラグを設定すると、パフォーマンスが低下します。

ベース URI と行情報は、XML ドキュメントを読み込んだ直後に正確です。 ドキュメントの読み込み後に XML ツリーを変更すると、ベース URI と行の情報が無意味になる可能性があります。

LINQ to XML の読み込み機能は、 XmlReaderに基づいて構築されています。 そのため、 XmlReader.Create オーバーロード メソッドと、ドキュメントを読み取って解析する XmlReader メソッドによってスローされる例外をキャッチできます。

こちらもご覧ください

適用対象

Load(Stream, LoadOptions)

ソース:
XElement.cs
ソース:
XElement.cs
ソース:
XElement.cs
ソース:
XElement.cs
ソース:
XElement.cs

指定したストリームを使用して新しい XElement インスタンスを作成し、必要に応じて空白を保持し、ベース URI を設定し、行情報を保持します。

public:
 static System::Xml::Linq::XElement ^ Load(System::IO::Stream ^ stream, System::Xml::Linq::LoadOptions options);
public static System.Xml.Linq.XElement Load(System.IO.Stream stream, System.Xml.Linq.LoadOptions options);
static member Load : System.IO.Stream * System.Xml.Linq.LoadOptions -> System.Xml.Linq.XElement
Public Shared Function Load (stream As Stream, options As LoadOptions) As XElement

パラメーター

stream
Stream

XML データを含むストリーム。

options
LoadOptions

ベース URI と行情報を読み込むかどうかを指定する LoadOptions オブジェクト。

返品

ストリームに含まれるデータの読み取りに使用する XElement オブジェクト。

注釈

LINQ to XML の読み込み機能は、 XmlReaderに基づいて構築されています。 そのため、 XmlReader.Create オーバーロード メソッドと、ドキュメントを読み取って解析する XmlReader メソッドによってスローされる例外をキャッチできます。

XmlReaderSettingsを変更する必要がある場合は、次の手順に従います。

  1. パラメーターとしてXmlReaderを受け取るCreateオーバーロードのいずれかを呼び出して、XmlReaderSettingsを作成します。

  2. パラメーターとしてXmlReaderを受け取るXElementLoadオーバーロードのいずれかにXmlReaderを渡します。

適用対象

Load(TextReader)

ソース:
XElement.cs
ソース:
XElement.cs
ソース:
XElement.cs
ソース:
XElement.cs
ソース:
XElement.cs

XElementからTextReaderを読み込みます。

public:
 static System::Xml::Linq::XElement ^ Load(System::IO::TextReader ^ textReader);
public static System.Xml.Linq.XElement Load(System.IO.TextReader textReader);
static member Load : System.IO.TextReader -> System.Xml.Linq.XElement
Public Shared Function Load (textReader As TextReader) As XElement

パラメーター

textReader
TextReader

TextReaderコンテンツに対して読み取られるXElement

返品

指定したXElementから読み取られた XML を含むTextReader

次の例では、 StringReaderから要素を読み込みます。

TextReader sr = new StringReader("<Root><Child/></Root>");
XElement xmlTree = XElement.Load(sr);
sr.Close();
Console.WriteLine(xmlTree);
Dim sr As TextReader = New StringReader("<Root><Child/></Root>")
Dim xmlTree As XElement = XElement.Load(sr)
sr.Close()
Console.WriteLine(xmlTree)

この例を実行すると、次の出力が生成されます。

<Root>
  <Child />
</Root>

注釈

このメソッドは、生の XML を XML ツリーに読み取ります。 ファイル内の重要でない空白をすべて破棄します。

LINQ to XML の読み込み機能は、 XmlReaderに基づいて構築されています。 そのため、 XmlReader.Create オーバーロード メソッドと、ドキュメントを読み取って解析する XmlReader メソッドによってスローされる例外をキャッチできます。

こちらもご覧ください

適用対象

Load(String)

ソース:
XElement.cs
ソース:
XElement.cs
ソース:
XElement.cs
ソース:
XElement.cs
ソース:
XElement.cs

ファイルから XElement を読み込みます。

public:
 static System::Xml::Linq::XElement ^ Load(System::String ^ uri);
public static System.Xml.Linq.XElement Load(string uri);
static member Load : string -> System.Xml.Linq.XElement
Public Shared Function Load (uri As String) As XElement

パラメーター

uri
String

新しい XElementに読み込むファイルを参照する URI 文字列。

返品

指定したファイルの内容を格納する XElement

次の例では、XML ツリーを作成し、ファイルに保存してから、このメソッドを使用してファイルから XElement を読み込みます。

XElement xmlTree1 = new XElement("Root",
    new XElement("Child", "content")
);
xmlTree1.Save("Tree.xml");

XElement xmlTree2 = XElement.Load("Tree.xml");
Console.WriteLine(xmlTree2.Name);
Dim xmlTree1 As XElement = _
        <Root>
            <Child>Content</Child>
        </Root>
xmlTree1.Save("Tree.xml")

Dim xmlTree2 As XElement = XElement.Load("Tree.xml")
Console.WriteLine(xmlTree2.Name)

この例を実行すると、次の出力が生成されます。

Root

注釈

このメソッドは、生の XML を XML ツリーに読み取ります。 ファイル内の重要でない空白をすべて破棄します。

LINQ to XML の読み込み機能は、 XmlReaderに基づいて構築されています。 そのため、 XmlReader.Create オーバーロード メソッドと、ドキュメントを読み取って解析する XmlReader メソッドによってスローされる例外をキャッチできます。

こちらもご覧ください

適用対象

Load(Stream)

ソース:
XElement.cs
ソース:
XElement.cs
ソース:
XElement.cs
ソース:
XElement.cs
ソース:
XElement.cs

指定したストリームを使用して、新しい XElement インスタンスを作成します。

public:
 static System::Xml::Linq::XElement ^ Load(System::IO::Stream ^ stream);
public static System.Xml.Linq.XElement Load(System.IO.Stream stream);
static member Load : System.IO.Stream -> System.Xml.Linq.XElement
Public Shared Function Load (stream As Stream) As XElement

パラメーター

stream
Stream

XML データを含むストリーム。

返品

ストリームに含まれるデータの読み取りに使用する XElement オブジェクト。

注釈

読み込みオプションを制御する場合は、パラメーターとしてLoadを受け取るLoadOptionsオーバーロードを使用します。

LINQ to XML の読み込み機能は、 XmlReaderに基づいて構築されています。 そのため、 XmlReader.Create オーバーロード メソッドと、ドキュメントを読み取って解析する XmlReader メソッドによってスローされる例外をキャッチできます。

XmlReaderSettingsを変更する必要がある場合は、次の手順に従います。

  1. パラメーターとしてXmlReaderを受け取るCreateオーバーロードのいずれかを呼び出して、XmlReaderSettingsを作成します。

  2. パラメーターとしてXmlReaderを受け取るXElementLoadオーバーロードのいずれかにXmlReaderを渡します。

適用対象

Load(XmlReader)

ソース:
XElement.cs
ソース:
XElement.cs
ソース:
XElement.cs
ソース:
XElement.cs
ソース:
XElement.cs

XElementからXmlReaderを読み込みます。

public:
 static System::Xml::Linq::XElement ^ Load(System::Xml::XmlReader ^ reader);
public static System.Xml.Linq.XElement Load(System.Xml.XmlReader reader);
static member Load : System.Xml.XmlReader -> System.Xml.Linq.XElement
Public Shared Function Load (reader As XmlReader) As XElement

パラメーター

reader
XmlReader

XmlReaderのコンテンツに対して読み取られるXElement

返品

指定したXElementから読み取られた XML を含むXmlReader

次の例では、DOM ドキュメントを作成し、DOM ドキュメントから XmlNodeReader を作成し、リーダーからツリーをインスタンス化します。 このコードは、DOM ドキュメントを LINQ to XML ツリーに効果的にコピーします。

// Create a DOM document with some content.
XmlDocument doc = new XmlDocument();
XmlElement child = doc.CreateElement("Child");
child.InnerText = "child contents";
XmlElement root = doc.CreateElement("Root");
root.AppendChild(child);
doc.AppendChild(root);

// Create a reader and move to the content.
using (XmlNodeReader nodeReader = new XmlNodeReader(doc)) {
    // the reader must be in the Interactive state in order to
    // Create a LINQ to XML tree from it.
    nodeReader.MoveToContent();

    XElement xRoot = XElement.Load(nodeReader);
    Console.WriteLine(xRoot);
}
' Create a DOM document with some content.
Dim doc As XmlDocument = New XmlDocument()
Dim child As XmlElement = doc.CreateElement("Child")
child.InnerText = "child contents"
Dim root As XmlElement = doc.CreateElement("Root")
root.AppendChild(child)
doc.AppendChild(root)

' Create a reader and move to the content.
Using nodeReader = New XmlNodeReader(doc)
    ' the reader must be in the Interactive state in order to
    ' Create a LINQ to XML tree from it.
    nodeReader.MoveToContent()

    Dim xRoot As XElement = XElement.Load(nodeReader)
    Console.WriteLine(xRoot)
End Using

この例を実行すると、次の出力が生成されます。

<Root>
  <Child>child contents</Child>
</Root>

注釈

DOM ドキュメントから XmlNodeReader を作成し、 XmlNodeReader を使用して XElementを作成することで、このメソッドを使用して LINQ to XML ツリーに DOM ドキュメントのコピーを作成できます。

LINQ to XML の読み込み機能は、 XmlReaderに基づいて構築されています。 そのため、 XmlReader.Create オーバーロード メソッドと、ドキュメントを読み取って解析する XmlReader メソッドによってスローされる例外をキャッチできます。

こちらもご覧ください

適用対象