XDocument.Load メソッド

定義

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

オーバーロード

Load(Stream)

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

Load(TextReader)

XDocument から新しい TextReader を作成します。

Load(String)

ファイルから新しい XDocument を作成します。

Load(XmlReader)

XmlReader から新しいXDocument を作成します。

Load(Stream, LoadOptions)

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

Load(TextReader, LoadOptions)

TextReader から新しい XDocument を作成し、必要に応じて、空白の維持、ベース URI の設定、および行情報の保持を行います。

Load(String, LoadOptions)

ファイルから新しい XDocument を作成し、必要に応じて、空白の維持、ベース URI の設定、および行情報の保持を行います。

Load(XmlReader, LoadOptions)

XmlReader から XDocument を読み込み、必要に応じて、ベース URI の設定および行情報の保持を行います。

注釈

このメソッドのいずれかのオーバーロードを使用して XDocument 、ファイル、 TextReaderまたは XmlReader.

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

Load(Stream)

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

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

パラメーター

stream
Stream

XML データを格納しているストリーム。

戻り値

XDocument

ストリームに格納されているデータを読み取る XDocument オブジェクト。

注釈

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

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

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

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

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

適用対象

Load(TextReader)

XDocument から新しい TextReader を作成します。

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

パラメーター

textReader
TextReader

XDocument の内容を格納している TextReader

戻り値

XDocument

指定した TextReader の内容を格納している XDocument

次の例では、.StringReader

TextReader tr = new StringReader("<Root>Content</Root>");  
XDocument doc = XDocument.Load(tr);  
Console.WriteLine(doc);  
Dim tr As TextReader = New StringReader("<Root>Content</Root>")  
Dim doc As XDocument = XDocument.Load(tr)  
Console.WriteLine(doc)  

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

<Root>Content</Root>  

注釈

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

こちらもご覧ください

適用対象

Load(String)

ファイルから新しい XDocument を作成します。

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

パラメーター

uri
String

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

戻り値

XDocument

指定したファイルの内容を格納している XDocument

次の例は、ファイルから読み込む XDocument 方法を示しています。

この例では、次の XML ドキュメントを使用します。

サンプル XML ファイル:一般的な購買発注書 (LINQ to XML)

XDocument doc = XDocument.Load("PurchaseOrder.xml");  
Console.WriteLine(doc);  
Dim doc As XDocument = XDocument.Load("PurchaseOrder.xml")  
Console.WriteLine(doc)  

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

<PurchaseOrder PurchaseOrderNumber="99503" OrderDate="1999-10-20">  
  <Address Type="Shipping">  
    <Name>Ellen Adams</Name>  
    <Street>123 Maple Street</Street>  
    <City>Mill Valley</City>  
    <State>CA</State>  
    <Zip>10999</Zip>  
    <Country>USA</Country>  
  </Address>  
  <Address Type="Billing">  
    <Name>Tai Yee</Name>  
    <Street>8 Oak Avenue</Street>  
    <City>Old Town</City>  
    <State>PA</State>  
    <Zip>95819</Zip>  
    <Country>USA</Country>  
  </Address>  
  <DeliveryNotes>Please leave packages in shed by driveway.</DeliveryNotes>  
  <Items>  
    <Item PartNumber="872-AA">  
      <ProductName>Lawnmower</ProductName>  
      <Quantity>1</Quantity>  
      <USPrice>148.95</USPrice>  
      <Comment>Confirm this is electric</Comment>  
    </Item>  
    <Item PartNumber="926-AA">  
      <ProductName>Baby Monitor</ProductName>  
      <Quantity>2</Quantity>  
      <USPrice>39.98</USPrice>  
      <ShipDate>1999-05-21</ShipDate>  
    </Item>  
  </Items>  
</PurchaseOrder>  

注釈

このメソッドは、基になる XmlReader XML を使用して XML ツリーに読み取ります。

XML を含む文字列から作成XDocumentするために使用Parseします。

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

こちらもご覧ください

適用対象

Load(XmlReader)

XmlReader から新しいXDocument を作成します。

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

パラメーター

reader
XmlReader

XDocument の内容を格納している XmlReader

戻り値

XDocument

指定した XmlReader の内容を格納している XDocument

次の例では、DOM ドキュメントを作成XmlNodeReaderし、DOM ドキュメントから作成し、XDocumentXmlNodeReader.

// 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();  

    XDocument xRoot = XDocument.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 XDocument = XDocument.Load(nodeReader)  
    Console.WriteLine(xRoot)  
End Using  

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

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

注釈

このメソッドで使用できる 1 つの方法は、LINQ to XML ツリーに DOM ドキュメントのコピーを作成することです。 これを行うには、DOM ドキュメントから作成 XmlNodeReader し、それを使用 XmlNodeReader して XDocument.

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

こちらもご覧ください

適用対象

Load(Stream, LoadOptions)

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

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

パラメーター

stream
Stream

XML データが含まれるストリーム。

options
LoadOptions

ベース URI と行情報を読み込むかどうかを指定する LoadOptions

戻り値

XDocument

ストリームに格納されているデータを読み取る XDocument オブジェクト。

注釈

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

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

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

  2. XmlReaderパラメーターとして受け取るXmlReaderオーバーロードの Load XDocument 1 つに渡します。

適用対象

Load(TextReader, LoadOptions)

TextReader から新しい XDocument を作成し、必要に応じて、空白の維持、ベース URI の設定、および行情報の保持を行います。

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

パラメーター

textReader
TextReader

XDocument の内容を格納している TextReader

options
LoadOptions

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

戻り値

XDocument

指定した TextReader から読み込まれた XML を格納している XDocument

次の例では、.StringReader

TextReader sr;  
int whiteSpaceNodes;  

sr = new StringReader("<Root> <Child> </Child> </Root>");  
XDocument xmlTree1 = XDocument.Load(sr, LoadOptions.None);  
sr.Close();  
whiteSpaceNodes = xmlTree1  
    .Element("Root")  
    .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>");  
XDocument xmlTree2 = XDocument.Load(sr, LoadOptions.PreserveWhitespace);  
sr.Close();  
whiteSpaceNodes = xmlTree2  
    .Element("Root")  
    .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 XDocument = XDocument.Load(sr, LoadOptions.None)  
sr.Close()  
whiteSpaceNodes = xmlTree1 _  
              .Element("Root") _  
              .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 XDocument = XDocument.Load(sr, LoadOptions.PreserveWhitespace)  
sr.Close()  
whiteSpaceNodes = xmlTree2 _  
              .Element("Root") _  
              .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  

注釈

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

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

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

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

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

からTextReader読み込むときに設定SetBaseUriが無効です。

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

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

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

こちらもご覧ください

適用対象

Load(String, LoadOptions)

ファイルから新しい XDocument を作成し、必要に応じて、空白の維持、ベース URI の設定、および行情報の保持を行います。

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

パラメーター

uri
String

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

options
LoadOptions

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

戻り値

XDocument

指定したファイルの内容を格納している XDocument

次の例は、ファイルから読み込む XDocument 方法を示しています。

この例では、次の XML ドキュメントを使用します。

サンプル XML ファイル:一般的な購買発注書 (LINQ to XML)

XDocument doc1 = XDocument.Load("PurchaseOrder.xml", LoadOptions.None);  
Console.WriteLine("nodes if not preserving whitespace: {0}", doc1.DescendantNodes().Count());  

XDocument doc2 = XDocument.Load("PurchaseOrder.xml", LoadOptions.PreserveWhitespace);  
Console.WriteLine("nodes if preserving whitespace: {0}", doc2.DescendantNodes().Count());  
Dim doc1 As XDocument = XDocument.Load("PurchaseOrder.xml", LoadOptions.None)  
Console.WriteLine("nodes if not preserving whitespace: {0}", doc1.DescendantNodes().Count())  

Dim doc2 As XDocument = XDocument.Load("PurchaseOrder.xml", LoadOptions.PreserveWhitespace)  
Console.WriteLine("nodes if preserving whitespace: {0}", doc2.DescendantNodes().Count())  

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

nodes if not preserving whitespace: 48  
nodes if preserving whitespace: 82  

注釈

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

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

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

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

XML を含む文字列から作成XDocumentするために使用Parseします。

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

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

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

こちらもご覧ください

適用対象

Load(XmlReader, LoadOptions)

XmlReader から XDocument を読み込み、必要に応じて、ベース URI の設定および行情報の保持を行います。

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

パラメーター

reader
XmlReader

XDocument の内容として読み込む XmlReader

options
LoadOptions

ベース URI と行情報を読み込むかどうかを指定する LoadOptions

戻り値

XDocument

指定した XmlReader から読み込まれた XML を格納している XDocument

次の例では、. から読み込む行情報を 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();  

    XDocument xRoot = XDocument.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.Elements("Root").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 XDocument = XDocument.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.Elements("Root").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 ドキュメントのコピーを作成できます。

XML を含む文字列から作成XDocumentするために使用Parseします。

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

XmlReader有効なベース URI を持っているかどうか。 設定 SetBaseUriした場合、ベース URI は、XML ツリーで、報告される XmlReaderベース URI から設定されます。

有効 XmlReader な行情報を持っているかどうか。 設定 SetLineInfoした場合、XML ツリー内の行情報は、その行情報 XmlReaderから設定されます。

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

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

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

こちらもご覧ください

適用対象