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