XDocument.Load XDocument.Load XDocument.Load XDocument.Load Method

定義

URI で指定されたファイル、TextReader、または XmlReader から、新しい XDocument を作成します。Creates a new XDocument from a file specified by a URI, from an TextReader, or from an XmlReader.

オーバーロード

Load(Stream) Load(Stream) Load(Stream)

指定されたストリームを使用して新しい XDocument インスタンスを作成します。Creates a new XDocument instance by using the specified stream.

Load(TextReader) Load(TextReader) Load(TextReader)

XDocument から新しい TextReader を作成します。Creates a new XDocument from a TextReader.

Load(String) Load(String) Load(String) Load(String)

ファイルから新しい XDocument を作成します。Creates a new XDocument from a file.

Load(XmlReader) Load(XmlReader) Load(XmlReader) Load(XmlReader)

XmlReader から新しいXDocument を作成します。Creates a new XDocument from an XmlReader.

Load(Stream, LoadOptions) Load(Stream, LoadOptions) Load(Stream, LoadOptions)

指定されたストリームを使用して新しい XDocument インスタンスを作成し、必要に応じて、空白の維持、ベース URI の設定、および行情報の保持を行います。Creates a new XDocument instance by using the specified stream, optionally preserving white space, setting the base URI, and retaining line information.

Load(TextReader, LoadOptions) Load(TextReader, LoadOptions) Load(TextReader, LoadOptions)

TextReader から新しい XDocument を作成し、必要に応じて、空白の維持、ベース URI の設定、および行情報の保持を行います。Creates a new XDocument from a TextReader, optionally preserving white space, setting the base URI, and retaining line information.

Load(String, LoadOptions) Load(String, LoadOptions) Load(String, LoadOptions) Load(String, LoadOptions)

ファイルから新しい XDocument を作成し、必要に応じて、空白の維持、ベース URI の設定、および行情報の保持を行います。Creates a new XDocument from a file, optionally preserving white space, setting the base URI, and retaining line information.

Load(XmlReader, LoadOptions) Load(XmlReader, LoadOptions) Load(XmlReader, LoadOptions) Load(XmlReader, LoadOptions)

XmlReader から XDocument を読み込み、必要に応じて、ベース URI の設定および行情報の保持を行います。Loads an XDocument from an XmlReader, optionally setting the base URI, and retaining line information.

注釈

このメソッドのオーバーロードのいずれかを使用して、ファイルXDocument TextReader、、またはXmlReaderからを読み込むことができます。Using one of the overloads of this method, you can load an XDocument from a file, a TextReader, or an XmlReader.

XML を含むXDocument文字列からを作成するには、 Parseを使用します。To create an XDocument from a string that contains XML, use Parse.

Load(Stream) Load(Stream) Load(Stream)

指定されたストリームを使用して新しい XDocument インスタンスを作成します。Creates a new XDocument instance by using the specified stream.

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

パラメーター

stream
Stream Stream Stream Stream

XML データを格納しているストリーム。The stream that contains the XML data.

戻り値

ストリームに格納されているデータを読み取る XDocument オブジェクト。An XDocument object that reads the data that is contained in the stream.

注釈

読み込みオプションを制御する場合は、パラメーターとLoadしてをLoadOptions受け取るオーバーロードを使用します。If you want to control load options, use the Load overload that takes LoadOptions as a parameter.

LINQ to XML の読み込み機能は、に基づいXmlReaderて構築されています。The loading functionality of LINQ to XML is built upon XmlReader. したがって、 XmlReader.Createオーバーロードメソッドによってスローされる例外XmlReaderと、ドキュメントを読み取って解析するメソッドをキャッチすることができます。Therefore, you might catch any exceptions that are thrown by the XmlReader.Create overload methods and the XmlReader methods that read and parse the document.

を変更XmlReaderSettingsする必要がある場合は、次の手順を実行します。If you have to modify XmlReaderSettings, follow these steps:

  1. パラメーターとXmlReaderしてを受け取るCreate XmlReaderSettingsオーバーロードのいずれかを呼び出して、を作成します。Create an XmlReader by calling one of the Create overloads that take XmlReaderSettings as a parameter.

  2. をパラメーターとして受け取るLoad XDocument XmlReaderのオーバーロードのいずれかにを渡します。XmlReaderPass the XmlReader to one of the Load overloads of XDocument that takes XmlReader as a parameter.

Load(TextReader) Load(TextReader) Load(TextReader)

XDocument から新しい TextReader を作成します。Creates a new XDocument from a 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

パラメーター

textReader
TextReader TextReader TextReader TextReader

XDocument の内容を格納している TextReaderA TextReader that contains the content for the XDocument.

戻り値

指定した TextReader の内容を格納している XDocumentAn XDocument that contains the contents of the specified TextReader.

次の例では、 StringReaderからドキュメントを作成します。The following example creates a document from a 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)  

この例を実行すると、次の出力が生成されます。This example produces the following output:

<Root>Content</Root>  

注釈

LINQ to XML の読み込み機能はXmlReader、に基づいて構築されています。LINQ to XML's loading functionality is built upon XmlReader. したがって、 XmlReader.Createオーバーロードメソッドによってスローされる例外XmlReaderと、ドキュメントを読み取って解析するメソッドをキャッチすることができます。Therefore, you might catch any exceptions that are thrown by the XmlReader.Create overload methods and the XmlReader methods that read and parse the document.

こちらもご覧ください

Load(String) Load(String) Load(String) Load(String)

ファイルから新しい XDocument を作成します。Creates a new XDocument from a file.

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 String String String

新しい XDocument に読み込むファイルを参照している URI 文字列。A URI string that references the file to load into a new XDocument.

戻り値

指定したファイルの内容を格納している XDocumentAn XDocument that contains the contents of the specified file.

次の例は、ファイルXDocumentからを読み込む方法を示しています。The following example shows how to load an XDocument from a file.

この例では、次の XML ドキュメントを使用します:This example uses the following XML document:

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

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

この例を実行すると、次の出力が生成されます。This example produces the following output:

<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 ツリーに読み込みます。This method uses an underlying XmlReader to read the XML into an XML tree.

XML Parseを含む文字列XDocumentからを作成するには、を使用します。Use Parse to create an XDocument from a string that contains XML.

LINQ to XML の読み込み機能はXmlReader、に基づいて構築されています。LINQ to XML's loading functionality is built upon XmlReader. したがって、 XmlReader.Createオーバーロードメソッドによってスローされる例外XmlReaderと、ドキュメントを読み取って解析するメソッドをキャッチすることができます。Therefore, you might catch any exceptions that are thrown by the XmlReader.Create overload methods and the XmlReader methods that read and parse the document.

こちらもご覧ください

Load(XmlReader) Load(XmlReader) Load(XmlReader) Load(XmlReader)

XmlReader から新しいXDocument を作成します。Creates a new XDocument from an XmlReader.

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 XmlReader XmlReader XmlReader

XDocument の内容を格納している XmlReaderA XmlReader that contains the content for the XDocument.

戻り値

指定した XmlReader の内容を格納している XDocumentAn XDocument that contains the contents of the specified XmlReader.

次の例では、dom ドキュメントを作成XmlNodeReaderし、dom ドキュメントからを作成XDocumentしてXmlNodeReader、を使用してを作成します。The following example creates a DOM document, creates an XmlNodeReader from the DOM document, creates an XDocument using the 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  

この例を実行すると、次の出力が生成されます。This example produces the following output:

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

注釈

このメソッドの使用方法の1つとして、LINQ to XML ツリーに DOM ドキュメントのコピーを作成する方法があります。One possible use for this method is to create a copy of a DOM document in a LINQ to XML tree. これを行うには、DOM XmlNodeReaderドキュメントからを作成し、をXmlNodeReader使用してを作成XDocumentします。To do this, you create an XmlNodeReader from a DOM document, and then use the XmlNodeReader to create an XDocument.

LINQ to XML の読み込み機能はXmlReader、に基づいて構築されています。LINQ to XML's loading functionality is built upon XmlReader. したがって、 XmlReader.Createオーバーロードメソッドによってスローされる例外XmlReaderと、ドキュメントを読み取って解析するメソッドをキャッチすることができます。Therefore, you might catch any exceptions that are thrown by the XmlReader.Create overload methods and the XmlReader methods that read and parse the document.

こちらもご覧ください

Load(Stream, LoadOptions) Load(Stream, LoadOptions) Load(Stream, LoadOptions)

指定されたストリームを使用して新しい XDocument インスタンスを作成し、必要に応じて、空白の維持、ベース URI の設定、および行情報の保持を行います。Creates a new XDocument instance by using the specified stream, optionally preserving white space, setting the base URI, and retaining line information.

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

パラメーター

stream
Stream Stream Stream Stream

XML データが含まれるストリーム。The stream containing the XML data.

options
LoadOptions LoadOptions LoadOptions LoadOptions

ベース URI と行情報を読み込むかどうかを指定する LoadOptionsA LoadOptions that specifies whether to load base URI and line information.

戻り値

ストリームに格納されているデータを読み取る XDocument オブジェクト。An XDocument object that reads the data that is contained in the stream.

注釈

LINQ to XML の読み込み機能は、に基づいXmlReaderて構築されています。The loading functionality of LINQ to XML is built upon XmlReader. したがって、 XmlReader.Createオーバーロードメソッドによってスローされる例外XmlReaderと、ドキュメントを読み取って解析するメソッドをキャッチすることができます。Therefore, you might catch any exceptions that are thrown by the XmlReader.Create overload methods and the XmlReader methods that read and parse the document.

を変更XmlReaderSettingsする必要がある場合は、次の手順を実行します。If you have to modify XmlReaderSettings, follow these steps:

  1. パラメーターとXmlReaderしてを受け取るCreate XmlReaderSettingsオーバーロードのいずれかを呼び出して、を作成します。Create an XmlReader by calling one of the Create overloads that takes XmlReaderSettings as a parameter.

  2. をパラメーターとして受け取るLoad XDocument XmlReaderのオーバーロードのいずれかにを渡します。XmlReaderPass the XmlReader to one of the Load overloads of XDocument that takes XmlReader as a parameter.

Load(TextReader, LoadOptions) Load(TextReader, LoadOptions) Load(TextReader, LoadOptions)

TextReader から新しい XDocument を作成し、必要に応じて、空白の維持、ベース URI の設定、および行情報の保持を行います。Creates a new XDocument from a TextReader, optionally preserving white space, setting the base URI, and retaining line information.

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

パラメーター

textReader
TextReader TextReader TextReader TextReader

XDocument の内容を格納している TextReaderA TextReader that contains the content for the XDocument.

options
LoadOptions LoadOptions LoadOptions LoadOptions

空白に対する動作、およびベース URI と行情報を読み込むかどうかを指定する LoadOptionsA LoadOptions that specifies white space behavior, and whether to load base URI and line information.

戻り値

指定した TextReader から読み込まれた XML を格納している XDocumentAn XDocument that contains the XML that was read from the specified TextReader.

次の例では、 StringReaderからドキュメントを作成します。The following example creates a document from a 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)  

この例を実行すると、次の出力が生成されます。This example produces the following output:

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

注釈

ソース xml がインデントされている場合PreserveWhitespaceは、 optionsのフラグを設定すると、リーダーはソース xml 内のすべての空白文字を読み取ります。If the source XML is indented, setting the PreserveWhitespace flag in options causes the reader to read all white space in the source XML. XTextのノードは、有意な空白と意味のない空白の両方に対して作成されます。Nodes of type XText are created for both significant and insignificant white space.

ソース xml がインデントされている場合、 PreserveWhitespaceoptionsフラグを設定しないと、リーダーはソース xml 内のすべての意味のない空白を無視します。If the source XML is indented, not setting the PreserveWhitespace flag in options causes the reader to ignore all of the insignificant white space in the source XML. XML ツリーは、意味のない空白のテキストノードなしで作成されます。The XML tree is created without any text nodes for insignificant white space.

ソース XML がインデントされていない場合PreserveWhitespaceは、 optionsのフラグを設定しても効果はありません。If the source XML is not indented, setting the PreserveWhitespace flag in options has no effect. 有意の空白は保持されていますが、余分な空白文字の数が増えても、余分な空白のテキストノードが作成される可能性があります。Significant white space is still preserved, and there are no spans of insignificant white space that could cause the creation of more white space text nodes.

詳細については、「 XML の読み込み時または解析時の空白の保持」と「シリアル化時の空白の維持」を参照してください。For more information, see Preserving White Space while Loading or Parsing XML and Preserving White Space While Serializing.

XML Parseを含む文字列XElementからを作成するには、を使用します。Use Parse to create an XElement from a string that contains XML.

SetBaseUriから読み込む場合、 TextReader設定は無効です。Setting SetBaseUri is not valid when loading from a TextReader.

SetLineInfoフラグを設定すると、パフォーマンスが低下します。There is a performance penalty if you set the SetLineInfo flag.

行情報は、XML ドキュメントを読み込んだ直後に正確になります。The line information is accurate immediately after loading the XML document. ドキュメントの読み込み後に XML ツリーを変更すると、行情報が無意味になることがあります。If you modify the XML tree after loading the document, the line information may become meaningless.

LINQ to XML の読み込み機能はXmlReader、に基づいて構築されています。LINQ to XML's loading functionality is built upon XmlReader. したがって、 XmlReader.Createオーバーロードメソッドによってスローされる例外XmlReaderと、ドキュメントを読み取って解析するメソッドをキャッチすることができます。Therefore, you might catch any exceptions that are thrown by the XmlReader.Create overload methods and the XmlReader methods that read and parse the document.

こちらもご覧ください

Load(String, LoadOptions) Load(String, LoadOptions) Load(String, LoadOptions) Load(String, LoadOptions)

ファイルから新しい XDocument を作成し、必要に応じて、空白の維持、ベース URI の設定、および行情報の保持を行います。Creates a new XDocument from a file, optionally preserving white space, setting the base URI, and retaining line information.

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 String String String

新しい XDocument に読み込むファイルを参照している URI 文字列。A URI string that references the file to load into a new XDocument.

options
LoadOptions LoadOptions LoadOptions LoadOptions

空白に対する動作、およびベース URI と行情報を読み込むかどうかを指定する LoadOptionsA LoadOptions that specifies white space behavior, and whether to load base URI and line information.

戻り値

指定したファイルの内容を格納している XDocumentAn XDocument that contains the contents of the specified file.

次の例は、ファイルXDocumentからを読み込む方法を示しています。The following example shows how to load an XDocument from a file.

この例では、次の XML ドキュメントを使用します:This example uses the following XML document:

サンプル XML ファイル: 一般的な購買発注書 (LINQ to XML)Sample XML File: Typical Purchase Order (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())  

この例を実行すると、次の出力が生成されます。This example produces the following output:

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

注釈

ソース xml がインデントされている場合PreserveWhitespaceは、 optionsのフラグを設定すると、リーダーはソース xml 内のすべての空白文字を読み取ります。If the source XML is indented, setting the PreserveWhitespace flag in options causes the reader to read all white space in the source XML. XTextのノードは、有意な空白と意味のない空白の両方に対して作成されます。Nodes of type XText are created for both significant and insignificant white space.

ソース xml がインデントされている場合、 PreserveWhitespaceoptionsフラグを設定しないと、リーダーはソース xml 内のすべての意味のない空白を無視します。If the source XML is indented, not setting the PreserveWhitespace flag in options causes the reader to ignore all of the insignificant white space in the source XML. XML ツリーは、意味のない空白のテキストノードなしで作成されます。The XML tree is created without any text nodes for insignificant white space.

ソース XML がインデントされていない場合PreserveWhitespaceは、 optionsのフラグを設定しても効果はありません。If the source XML is not indented, setting the PreserveWhitespace flag in options has no effect. 有意の空白は保持されていますが、余分な空白文字の数が増えても、余分な空白のテキストノードが作成される可能性があります。Significant white space is still preserved, and there are no spans of insignificant white space that could cause the creation of more white space text nodes.

詳細については、「 XML の読み込み時または解析時の空白の保持」と「シリアル化時の空白の維持」を参照してください。For more information, see Preserving White Space while Loading or Parsing XML and Preserving White Space While Serializing.

XML Parseを含む文字列XDocumentからを作成するには、を使用します。Use Parse to create an XDocument from a string that contains XML.

SetBaseUriフラグとフラグを設定すると、パフォーマンスが低下します。 SetLineInfoThere is a performance penalty if you set the SetBaseUri and the SetLineInfo flags.

ベース URI と行情報は、XML ドキュメントを読み込んだ直後に正確になります。The base URI and the line information are accurate immediately after loading the XML document. ドキュメントの読み込み後に XML ツリーを変更すると、ベース URI と行情報が無意味になることがあります。If you modify the XML tree after loading the document, the base URI and line information may become meaningless.

LINQ to XML の読み込み機能はXmlReader、に基づいて構築されています。LINQ to XML's loading functionality is built upon XmlReader. したがって、 XmlReader.Createオーバーロードメソッドによってスローされる例外XmlReaderと、ドキュメントを読み取って解析するメソッドをキャッチすることができます。Therefore, you might catch any exceptions that are thrown by the XmlReader.Create overload methods and the XmlReader methods that read and parse the document.

こちらもご覧ください

Load(XmlReader, LoadOptions) Load(XmlReader, LoadOptions) Load(XmlReader, LoadOptions) Load(XmlReader, LoadOptions)

XmlReader から XDocument を読み込み、必要に応じて、ベース URI の設定および行情報の保持を行います。Loads an XDocument from an XmlReader, optionally setting the base URI, and retaining line information.

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 XmlReader XmlReader XmlReader

XDocument の内容として読み込む XmlReaderA XmlReader that will be read for the content of the XDocument.

options
LoadOptions LoadOptions LoadOptions LoadOptions

ベース URI と行情報を読み込むかどうかを指定する LoadOptionsA LoadOptions that specifies whether to load base URI and line information.

戻り値

指定した XmlReader から読み込まれた XML を格納している XDocumentAn XDocument that contains the XML that was read from the specified XmlReader.

次の例では、 XmlReaderから読み込まれた行情報を読み込みます。The following example loads the line information that it loads from the XmlReader. 次に、行情報を出力します。It then prints the line information.

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  

この例を実行すると、次の出力が生成されます。This example produces the following output:

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

注釈

Dom ドキュメントXmlNodeReaderからを作成し、をXmlNodeReader使用してを作成XElementすることによって、このメソッドを使用して、LINQ to XML ツリーに dom ドキュメントのコピーを作成できます。By creating an XmlNodeReader from a DOM document, and then using the XmlNodeReader to create an XElement, this method can be used to create a copy of a DOM document in a LINQ to XML tree.

XML Parseを含む文字列XDocumentからを作成するには、を使用します。Use Parse to create an XDocument from a string that contains XML.

PreserveWhitespaceから読み込む場合、 XmlReader設定は無効です。Setting PreserveWhitespace is not valid when loading from a XmlReader. XmlReader 、空白文字を読み取るように構成されます。The XmlReader will be configured to either read whitespace or not. LINQ to XML ツリーには、リーダーが表示する空白ノードが設定されます。The LINQ to XML tree will be populated with the whitespace nodes that the reader surfaces. これは、が設定されてPreserveWhitespaceいるかどうかに関係なく動作になります。This will be the behavior regardless of whether PreserveWhitespace is set or not.

XmlReader有効なベース URI が指定されている可能性があります。The XmlReader may have a valid base URI or not. を設定SetBaseUriした場合、ベース uri は、 XmlReaderによって報告されるベース uri から XML ツリーで設定されます。If you set SetBaseUri, the base URI will be set in the XML tree from the base URI that is reported by the XmlReader.

XmlReaderは有効な行情報が含まれている場合があります。The XmlReader may have a valid line information or not. を設定SetLineInfoした場合は、にXmlReaderよって報告された行情報から XML ツリーに行情報が設定されます。If you set SetLineInfo, the line information will be set in the XML tree from the line information that is reported by the XmlReader.

SetLineInfoフラグを設定すると、パフォーマンスが低下します。There is a performance penalty if you set the SetLineInfo flag.

行情報は、XML ドキュメントを読み込んだ直後に正確になります。The line information is accurate immediately after loading the XML document. ドキュメントの読み込み後に XML ツリーを変更すると、行情報が無意味になることがあります。If you modify the XML tree after loading the document, the line information may become meaningless.

LINQ to XML の読み込み機能はXmlReader、に基づいて構築されています。LINQ to XML's loading functionality is built upon XmlReader. したがって、 XmlReader.Createオーバーロードメソッドによってスローされる例外XmlReaderと、ドキュメントを読み取って解析するメソッドをキャッチすることができます。Therefore, you might catch any exceptions that are thrown by the XmlReader.Create overload methods and the XmlReader methods that read and parse the document.

こちらもご覧ください

適用対象