XDocument.Load メソッド
定義
重要
一部の情報は、リリース前に大きく変更される可能性があるプレリリースされた製品に関するものです。 Microsoft は、ここに記載されている情報について、明示または黙示を問わず、一切保証しません。
URI で指定されたファイル、XDocument、またはTextReaderから新しいXmlReaderを作成します。
オーバーロード
| 名前 | 説明 |
|---|---|
| Load(Stream) |
指定したストリームを使用して、新しい XDocument インスタンスを作成します。 |
| Load(TextReader) |
XDocumentから新しいTextReaderを作成します。 |
| Load(String) |
ファイルから新しい XDocument を作成します。 |
| Load(XmlReader) | |
| Load(Stream, LoadOptions) |
指定したストリームを使用して新しい XDocument インスタンスを作成し、必要に応じて空白を保持し、ベース URI を設定し、行情報を保持します。 |
| Load(TextReader, LoadOptions) |
XDocumentから新しいTextReaderを作成し、必要に応じて空白を保持し、ベース URI を設定し、行情報を保持します。 |
| Load(String, LoadOptions) |
ファイルから新しい XDocument を作成し、必要に応じて空白を保持し、ベース URI を設定し、行情報を保持します。 |
| Load(XmlReader, LoadOptions) |
注釈
このメソッドのいずれかのオーバーロードを使用して、ファイル、XDocument、またはTextReaderからXmlReaderを読み込むことができます。
XML を含む文字列から XDocument を作成するには、 Parseを使用します。
Load(Stream)
- ソース:
- XDocument.cs
- ソース:
- XDocument.cs
- ソース:
- XDocument.cs
- ソース:
- XDocument.cs
- ソース:
- XDocument.cs
指定したストリームを使用して、新しい 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 オブジェクト。
注釈
読み込みオプションを制御する場合は、パラメーターとしてLoadを受け取るLoadOptionsオーバーロードを使用します。
LINQ to XML の読み込み機能は、 XmlReaderに基づいて構築されています。 そのため、 XmlReader.Create オーバーロード メソッドと、ドキュメントを読み取って解析する XmlReader メソッドによってスローされる例外をキャッチできます。
XmlReaderSettingsを変更する必要がある場合は、次の手順に従います。
パラメーターとしてXmlReaderを受け取るCreateオーバーロードのいずれかを呼び出して、XmlReaderSettingsを作成します。
パラメーターとしてXmlReaderを受け取るLoadのXDocumentオーバーロードのいずれかにXmlReaderを渡します。
適用対象
Load(TextReader)
- ソース:
- XDocument.cs
- ソース:
- XDocument.cs
- ソース:
- XDocument.cs
- ソース:
- XDocument.cs
- ソース:
- XDocument.cs
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
TextReaderのコンテンツを含むXDocument。
返品
指定したXDocumentの内容を格納しているTextReader。
例
次の例では、 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.Create オーバーロード メソッドと、ドキュメントを読み取って解析する XmlReader メソッドによってスローされる例外をキャッチできます。
こちらもご覧ください
適用対象
Load(String)
- ソース:
- XDocument.cs
- ソース:
- XDocument.cs
- ソース:
- XDocument.cs
- ソース:
- XDocument.cs
- ソース:
- XDocument.cs
ファイルから新しい 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
パラメーター
返品
指定したファイルの内容を格納する 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 を読み取ります。
Parseを使用して、XML を含む文字列からXDocumentを作成します。
LINQ to XML の読み込み機能は、 XmlReaderに基づいて構築されています。 そのため、 XmlReader.Create オーバーロード メソッドと、ドキュメントを読み取って解析する XmlReader メソッドによってスローされる例外をキャッチできます。
こちらもご覧ください
適用対象
Load(XmlReader)
- ソース:
- XDocument.cs
- ソース:
- XDocument.cs
- ソース:
- XDocument.cs
- ソース:
- XDocument.cs
- ソース:
- XDocument.cs
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
パラメーター
返品
指定したXDocumentの内容を格納しているXmlReader。
例
次の例では、DOM ドキュメントを作成し、DOM ドキュメントからXmlNodeReaderを作成し、XDocumentを使用してXmlNodeReaderを作成します。
// 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.Create オーバーロード メソッドと、ドキュメントを読み取って解析する XmlReader メソッドによってスローされる例外をキャッチできます。
こちらもご覧ください
適用対象
Load(Stream, LoadOptions)
- ソース:
- XDocument.cs
- ソース:
- XDocument.cs
- ソース:
- XDocument.cs
- ソース:
- XDocument.cs
- ソース:
- XDocument.cs
指定したストリームを使用して新しい 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 オブジェクト。
注釈
LINQ to XML の読み込み機能は、 XmlReaderに基づいて構築されています。 そのため、 XmlReader.Create オーバーロード メソッドと、ドキュメントを読み取って解析する XmlReader メソッドによってスローされる例外をキャッチできます。
XmlReaderSettingsを変更する必要がある場合は、次の手順に従います。
パラメーターとしてXmlReaderを受け取るCreateオーバーロードのいずれかを呼び出して、XmlReaderSettingsを作成します。
パラメーターとしてXmlReaderを受け取るLoadのXDocumentオーバーロードのいずれかにXmlReaderを渡します。
適用対象
Load(TextReader, LoadOptions)
- ソース:
- XDocument.cs
- ソース:
- XDocument.cs
- ソース:
- XDocument.cs
- ソース:
- XDocument.cs
- ソース:
- XDocument.cs
XDocumentから新しいTextReaderを作成し、必要に応じて空白を保持し、ベース 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
TextReaderのコンテンツを含むXDocument。
- options
- LoadOptions
空白の動作、およびベース URI と行情報を読み込むかどうかを指定する LoadOptions 。
返品
指定したXDocumentから読み取られた XML を含むTextReader。
例
次の例では、 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 がインデントされている場合、PreserveWhitespaceで options フラグを設定しないと、リーダーはソース XML 内の重要でない空白をすべて無視します。 XML ツリーは、重要でない空白のテキスト ノードなしで作成されます。
ソース XML がインデントされていない場合、PreserveWhitespaceで options フラグを設定しても効果はありません。 重要な空白は引き続き保持され、空白テキスト ノードの作成を引き起こす可能性がある重要でない空白のスパンはありません。
詳細については、「XML の 読み込みまたは解析中に空白を保持する 」および「 シリアル化中に空白を保持する」を参照してください。
Parseを使用して、XML を含む文字列からXElementを作成します。
SetBaseUriから読み込む場合、TextReaderの設定は無効です。
SetLineInfo フラグを設定すると、パフォーマンスが低下します。
行情報は、XML ドキュメントを読み込んだ直後に正確です。 ドキュメントの読み込み後に XML ツリーを変更すると、行情報が意味をなさなくなる可能性があります。
LINQ to XML の読み込み機能は、 XmlReaderに基づいて構築されています。 そのため、 XmlReader.Create オーバーロード メソッドと、ドキュメントを読み取って解析する XmlReader メソッドによってスローされる例外をキャッチできます。
こちらもご覧ください
適用対象
Load(String, LoadOptions)
- ソース:
- XDocument.cs
- ソース:
- XDocument.cs
- ソース:
- XDocument.cs
- ソース:
- XDocument.cs
- ソース:
- XDocument.cs
ファイルから新しい 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
パラメーター
- options
- LoadOptions
空白の動作、およびベース URI と行情報を読み込むかどうかを指定する LoadOptions 。
返品
指定したファイルの内容を格納する 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 がインデントされている場合、PreserveWhitespaceで options フラグを設定しないと、リーダーはソース XML 内の重要でない空白をすべて無視します。 XML ツリーは、重要でない空白のテキスト ノードなしで作成されます。
ソース XML がインデントされていない場合、PreserveWhitespaceで options フラグを設定しても効果はありません。 重要な空白は引き続き保持され、空白テキスト ノードの作成を引き起こす可能性がある重要でない空白のスパンはありません。
詳細については、「XML の 読み込みまたは解析中に空白を保持する 」および「 シリアル化中に空白を保持する」を参照してください。
Parseを使用して、XML を含む文字列からXDocumentを作成します。
SetBaseUriフラグとSetLineInfo フラグを設定すると、パフォーマンスが低下します。
ベース URI と行情報は、XML ドキュメントを読み込んだ直後に正確です。 ドキュメントの読み込み後に XML ツリーを変更すると、ベース URI と行の情報が無意味になる可能性があります。
LINQ to XML の読み込み機能は、 XmlReaderに基づいて構築されています。 そのため、 XmlReader.Create オーバーロード メソッドと、ドキュメントを読み取って解析する XmlReader メソッドによってスローされる例外をキャッチできます。
こちらもご覧ください
適用対象
Load(XmlReader, LoadOptions)
- ソース:
- XDocument.cs
- ソース:
- XDocument.cs
- ソース:
- XDocument.cs
- ソース:
- XDocument.cs
- ソース:
- XDocument.cs
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
パラメーター
- options
- LoadOptions
ベース URI と行情報を読み込むかどうかを指定する LoadOptions 。
返品
指定したXDocumentから読み取られた 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();
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 ドキュメントのコピーを作成できます。
Parseを使用して、XML を含む文字列からXDocumentを作成します。
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 メソッドによってスローされる例外をキャッチできます。