XElement.Load XElement.Load XElement.Load XElement.Load Method

정의

URI로 지정된 파일, XElement 또는 TextReader를 사용하여 새 XmlReader를 만듭니다.Creates a new XElement from a file specified by a URI, from an TextReader, or from an XmlReader.

오버로드

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

XElement에서 TextReader를 로드하고, 선택적으로 공백 및 줄 정보를 유지합니다.Loads an XElement from a TextReader, optionally preserving white space and retaining line information.

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

XElement에서 XmlReader를 로드하고, 선택적으로 공백 및 줄 정보를 유지하고 기본 URI를 설정합니다.Loads an XElement from an XmlReader, optionally preserving white space, setting the base URI, and retaining line information.

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

파일에서 XElement를 로드하고, 선택적으로 공백 및 줄 정보를 유지하고 기본 URI를 설정합니다.Loads an XElement from a file, optionally preserving white space, setting the base URI, and retaining line information.

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

지정된 스트림을 사용하여 새 XElement 인스턴스를 만들고, 선택적으로 공백 및 줄 정보를 유지하고 기본 URI를 설정합니다.Creates a new XElement instance by using the specified stream, optionally preserving white space, setting the base URI, and retaining line information.

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

XElement에서 TextReader를 로드합니다.Loads an XElement from a TextReader.

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

파일에서 XElement를 로드합니다.Loads an XElement from a file.

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

지정된 스트림을 사용하여 새 XElement 인스턴스를 만듭니다.Creates a new XElement instance by using the specified stream.

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

XElement에서 XmlReader를 로드합니다.Loads an XElement from an XmlReader.

설명

로드에이 메서드의 오버 로드 중 하나를 사용할 수는 XElement 파일에서을 TextReader, 또는 XmlReader합니다.You can use one of the overloads of this method to load an XElement from a file, a TextReader, or an XmlReader.

만들려는 프로그램 XElement XML이 포함 된 문자열에서 사용 하 여 Parse입니다.To create an XElement from a string that contains XML, use Parse.

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

XElement에서 TextReader를 로드하고, 선택적으로 공백 및 줄 정보를 유지합니다.Loads an XElement from a TextReader, optionally preserving white space and retaining line information.

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

매개 변수

textReader
TextReader TextReader TextReader TextReader

TextReader 콘텐츠를 읽어올 XElement입니다.A TextReader that will be read for the XElement content.

options
LoadOptions LoadOptions LoadOptions LoadOptions

기본 URI와 줄 정보의 로드 여부 및 공백 동작을 지정하는 LoadOptions입니다.A LoadOptions that specifies white space behavior, and whether to load base URI and line information.

반환

지정된 XElement에서 읽은 XML이 들어 있는 TextReader입니다.An XElement that contains the XML that was read from the specified TextReader.

예제

다음 예제에서는 로드는 XElement 에서 StringReader 두 가지 방법으로: 공백, 및의 공백 보존 되지 않습니다.The following example loads an XElement from a StringReader in two different ways: preserving white space, and not preserving white space. 다음 쿼리를 사용 하 여 결과 XML 트리에서 노드를 공백 수를 결정 합니다.It then uses a query to determine the number of white space nodes in the resulting XML tree.

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)  

이 예제는 다음과 같은 출력을 생성합니다.This example produces the following output:

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

다음 예제에서 로드 된 줄 정보를 로드 합니다 TextReader합니다.The following example loads the line information as it loads from the TextReader. 다음 줄 정보를 인쇄합니다.It then prints the line information.

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  

이 예제는 다음과 같은 출력을 생성합니다.This example produces the following output:

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

설명

소스 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 들여쓰기 없는 경우 설정 하지 않으면 합니다 PreserveWhitespace 플래그 options 하면 판독기의 소스 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.

사용 하 여 Parse 만들려면는 XElement XML이 포함 된 문자열에서 합니다.Use Parse to create an XElement from a string that contains XML.

설정 SetBaseUri 에서 로드 하는 경우에 영향을 주지 것입니다는 TextReader합니다.Setting SetBaseUri will have no effect 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.

XML의 로드 기능에는 LINQ 기반 XmlReader입니다.LINQ to XML's loading functionality is built upon XmlReader. throw 된 예외를 catch 될 수 있습니다 따라서 합니다 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)

XElement에서 XmlReader를 로드하고, 선택적으로 공백 및 줄 정보를 유지하고 기본 URI를 설정합니다.Loads an XElement from an XmlReader, optionally preserving white space, setting the base URI, and retaining line information.

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

XmlReader의 콘텐츠를 읽어올 XElement입니다.A XmlReader that will be read for the content of the XElement.

options
LoadOptions LoadOptions LoadOptions LoadOptions

기본 URI와 줄 정보의 로드 여부 및 공백 동작을 지정하는 LoadOptions입니다.A LoadOptions that specifies white space behavior, and whether to load base URI and line information.

반환

지정된 XElement에서 읽은 XML이 들어 있는 XmlReader입니다.An XElement 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();  

    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  

이 예제는 다음과 같은 출력을 생성합니다.This example produces the following output:

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

설명

만들어를 XmlNodeReader DOM 문서를 사용 하 여 다음에서 합니다 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.

사용 하 여 Parse 만들려면는 XElement XML이 포함 된 문자열에서 합니다.Use Parse to create an XElement 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가 보고 되는 기본 URI에서 XML 트리의 설정 됩니다는 XmlReader합니다.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, 줄 정보를 설정할 XML 트리의 보고 된 줄 정보를 XmlReader입니다.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.

XML의 로드 기능에는 LINQ 기반 XmlReader입니다.LINQ to XML's loading functionality is built upon XmlReader. throw 된 예외를 catch 될 수 있습니다 따라서 합니다 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)

파일에서 XElement를 로드하고, 선택적으로 공백 및 줄 정보를 유지하고 기본 URI를 설정합니다.Loads an XElement from a file, optionally preserving white space, setting the base URI, and retaining line information.

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

XElement에 로드할 파일을 참조하는 URI 문자열입니다.A URI string referencing the file to load into an XElement.

options
LoadOptions LoadOptions LoadOptions LoadOptions

기본 URI와 줄 정보의 로드 여부 및 공백 동작을 지정하는 LoadOptions입니다.A LoadOptions that specifies white space behavior, and whether to load base URI and line information.

반환

지정된 파일의 내용이 들어 있는 XElement입니다.An XElement that contains the contents of the specified file.

예제

다음 예제에서는 로드는 XElement 두 가지 방법으로 파일에서: 공백, 및의 공백 보존 되지 않습니다.The following example loads an XElement from a file in two different ways: preserving white space, and not preserving white space. 다음 쿼리를 사용 하 여 결과 XML 트리에서 노드를 공백 수를 결정 합니다.It then uses a query to determine the number of white space nodes in the resulting XML tree.

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)  

이 예제는 다음과 같은 출력을 생성합니다.This example produces the following output:

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

다음 예제에서는 파일 로드 된 기본 URI 및 줄 정보를 로드 합니다.The following example loads the base URI and line information as it loads the file. 그런 다음 기본 URI 및 줄 정보를 출력 합니다.It then prints the base URI and the line information.

이 예제에서는 다음 리소스 파일을 사용 합니다. 샘플 XML 파일: 일반적인 구매 주문(LINQ to XML).This example uses the following resource file: Sample XML File: Typical Purchase Order (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  

이 예제는 다음과 같은 출력을 생성합니다.This example produces the following output:

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에서에서 모든 공백이 읽을 판독기입니다.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 들여쓰기 없는 경우 설정 하지 않으면 합니다 PreserveWhitespace 플래그 options 하면 판독기의 소스 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.

사용 하 여 Parse 만들려면는 XElement XML이 포함 된 문자열에서 합니다.Use Parse to create an XElement from a string that contains XML.

설정한 경우 성능 저하가 발생 합니다 SetBaseUri 하며 SetLineInfo 플래그입니다.There 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.

XML의 로드 기능에는 LINQ 기반 XmlReader입니다.LINQ to XML's loading functionality is built upon XmlReader. throw 된 예외를 catch 될 수 있습니다 따라서 합니다 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)

지정된 스트림을 사용하여 새 XElement 인스턴스를 만들고, 선택적으로 공백 및 줄 정보를 유지하고 기본 URI를 설정합니다.Creates a new XElement instance by using the specified stream, optionally preserving white space, setting the base URI, and retaining line information.

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

매개 변수

stream
Stream Stream Stream Stream

XML 데이터가 들어 있는 스트림입니다.The stream containing the XML data.

options
LoadOptions LoadOptions LoadOptions LoadOptions

기본 URI 및 줄 정보의 로드 여부를 지정하는 LoadOptions 개체입니다.A LoadOptions object that specifies whether to load base URI and line information.

반환

스트림에 포함된 데이터를 읽는 데 사용되는 XElement 개체입니다.An XElement object used to read the data that the stream contains.

설명

XML의 로드 기능에는 LINQ 기반 XmlReader입니다.LINQ to XML's loading functionality is built upon XmlReader. throw 된 예외를 catch 될 수 있습니다 따라서 합니다 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, following these steps:

  1. 만들기는 XmlReader 중 하나를 호출 하 여 합니다 Create 오버 XmlReaderSettings 매개 변수로 합니다.Create an XmlReader by calling one of the Create overloads that take XmlReaderSettings as a parameter.

  2. 전달 된 XmlReader 중 하나에 XElementLoad 는 오버 로드 XmlReader 매개 변수로 합니다.Pass the XmlReader to one of the XElement's Load overloads that takes XmlReader as a parameter.

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

XElement에서 TextReader를 로드합니다.Loads an XElement from a 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

매개 변수

textReader
TextReader TextReader TextReader TextReader

TextReader 콘텐츠를 읽어올 XElement입니다.A TextReader that will be read for the XElement content.

반환

지정된 XElement에서 읽은 XML이 들어 있는 TextReader입니다.An XElement that contains the XML that was read from the specified TextReader.

예제

다음 예제에서 요소를 로드 한 StringReader합니다.The following example loads an element from a 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)  

이 예제는 다음과 같은 출력을 생성합니다.This example produces the following output:

<Root>  
  <Child />  
</Root>  

설명

이 메서드는 XML 트리를 원시 XML을 읽습니다.This method reads the raw XML into the XML tree. 파일에서 모든 불필요 한 공백을 삭제합니다.It discards all insignificant white space in the file.

XML의 로드 기능에는 LINQ 기반 XmlReader입니다.LINQ to XML's loading functionality is built upon XmlReader. throw 된 예외를 catch 될 수 있습니다 따라서 합니다 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)

파일에서 XElement를 로드합니다.Loads an XElement from a file.

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

XElement에 로드할 파일을 참조하는 URI 문자열입니다.A URI string referencing the file to load into a new XElement.

반환

지정된 파일의 내용이 들어 있는 XElement입니다.An XElement that contains the contents of the specified file.

예제

다음 예제에서는 XML 트리를 만든 다음 파일에 저장 하 고 다음이 메서드를 사용 하 여 로드 된 XElement 파일에서 합니다.The following example creates an XML tree, saves it to a file, and then uses this method to load the XElement from the file.

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)  

이 예제는 다음과 같은 출력을 생성합니다.This example produces the following output:

Root  

설명

이 메서드는 XML 트리를 원시 XML을 읽습니다.This method reads the raw XML into the XML tree. 파일에서 모든 불필요 한 공백을 삭제합니다.It discards all insignificant white space in the file.

XML의 로드 기능에는 LINQ 기반 XmlReader입니다.LINQ to XML's loading functionality is built upon XmlReader. throw 된 예외를 catch 될 수 있습니다 따라서 합니다 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) Load(Stream) Load(Stream)

지정된 스트림을 사용하여 새 XElement 인스턴스를 만듭니다.Creates a new XElement instance by using the specified stream.

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

매개 변수

stream
Stream Stream Stream Stream

XML 데이터가 포함된 스트림입니다.The stream that contains the XML data.

반환

스트림에 포함된 데이터를 읽는 데 사용되는 XElement 개체입니다.An XElement object used to read 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.

XML의 로드 기능에는 LINQ 기반 XmlReader입니다.LINQ to XML's loading functionality is built upon XmlReader. throw 된 예외를 catch 될 수 있습니다 따라서 합니다 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, following these steps:

  1. 만들기는 XmlReader 중 하나를 호출 하 여 합니다 Create 오버 XmlReaderSettings 매개 변수로 합니다.Create an XmlReader by calling one of the Create overloads that take XmlReaderSettings as a parameter.

  2. 전달 된 XmlReader 중 하나에 XElementLoad 는 오버 로드 XmlReader 매개 변수로 합니다.Pass the XmlReader to one of the XElement's Load overloads that takes XmlReader as a parameter.

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

XElement에서 XmlReader를 로드합니다.Loads an XElement from an 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 XmlReader XmlReader

XmlReader의 콘텐츠를 읽어올 XElement입니다.A XmlReader that will be read for the content of the XElement.

반환

지정된 XElement에서 읽은 XML이 들어 있는 XmlReader입니다.An XElement that contains the XML that was read from the specified XmlReader.

예제

다음 예제에서는 DOM 문서를 만들어 만듭니다는 XmlNodeReader DOM 문서에서 판독기에서 트리를 인스턴스화합니다.The following example creates a DOM document, creates an XmlNodeReader from the DOM document, instantiates a tree from the reader. 이 코드는 효과적으로 XML 트리를 LINQ로 DOM 문서를 복사합니다.This code effectively copies a DOM document into a LINQ to XML tree.

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

이 예제는 다음과 같은 출력을 생성합니다.This example produces the following output:

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

설명

만들어를 XmlNodeReader DOM 문서를 사용 하 여 다음에서 합니다 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의 로드 기능에는 LINQ 기반 XmlReader입니다.LINQ to XML's loading functionality is built upon XmlReader. throw 된 예외를 catch 될 수 있습니다 따라서 합니다 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.

추가 정보

적용 대상