XObject.BaseUri XObject.BaseUri XObject.BaseUri XObject.BaseUri Property

정의

XObject의 기본 URI를 가져옵니다.Gets the base URI for this XObject.

public:
 property System::String ^ BaseUri { System::String ^ get(); };
public string BaseUri { get; }
member this.BaseUri : string
Public ReadOnly Property BaseUri As String

속성 값

String의 기본 URI가 들어 있는 XObject입니다.A String that contains the base URI for this XObject.

예제

다음 예제에서는 파일 로드 된 기본 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 문서 샘플 XML 파일: 일반적인 구매 주문(LINQ to XML)을 사용합니다.This example uses the following XML document: 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("/"c)  
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  

설명

LINQ to XML 사용 하 여 다양 한 fashions XML를 deserialize 할 수 있습니다.Using LINQ to XML, you can deserialize XML in a number of fashions. 문자열에서 구문 분석, 파일에서 로드 하거나에서 읽을 수는 TextReader 요소나 XmlReader합니다.You can parse it from a string, load it from a file, or read it from a TextReader or an XmlReader. 하나 또는 구체적인 서브 클래스 중 다른 LINQ to XML에서는 이러한 경우 모두 XmlReader입니다.In all of these cases, LINQ to XML uses one or another of the concrete subclasses of XmlReader.

경우에 따라는 XmlReader 기본 URI를 있고 그렇지 않은 경우도 있습니다.Sometimes the XmlReader has the base URI, and sometimes it does not. 예를 들어 파일에서 로드 하는 경우는 XmlReader 에서 읽을 때는 하지만 기본 URI를 알고는 XmlReader 호출으로 인해 생성 된를 Parse 메서드를의 가능성이 있는 XmlReader 기본 URI; XML 보고가에 문자열입니다.For instance, when loading from a file, the XmlReader knows the base URI, but when reading from an XmlReader that was created because of calling the Parse method, there is no possibility of the XmlReader reporting a base URI; the XML was in a string.

경우 구문 분석 또는 XML을 로드 하는 경우 지정할 SetBaseUri, LINQ to XML은 각 노드에 대 한 기본 URI를 요청 합니다 XmlReader 노드를 반환 합니다.If, when parsing or loading the XML, you specify SetBaseUri, LINQ to XML will request the base URI for each node as the XmlReader returns the node. 판독기의 기본 URI가 LINQ to XML은 LINQ to XML 노드를 사용 하 여 정보를 저장 합니다.If the reader has the base URI, LINQ to XML will save the information with the LINQ to XML node. 이 속성은 해당 정보를 반환합니다.This property returns that information. 하는 경우 기본 XmlReader 되지 않은 기본 URI를이 속성은 빈 문자열을 반환 합니다.If the underlying XmlReader does not have the base URI, then this property will return an empty string.

설정 SetBaseUri 경우 XML 트리를 로드 하면 느린 구문 분석 합니다.Setting SetBaseUri when loading an XML tree will result in slower parsing.

XML 트리에 대 한 기본 URI를 설정 하는 경우 LINQ to XML 트리의 루트에 주석을 배치 합니다.When setting the base URI for an XML tree, LINQ to XML puts an annotation on the root of the tree. 이 속성은 계산 된 속성 및 기본 URI을 찾으려면 트리에서 위로 이동 합니다.This property is a computed property, and navigates up the tree to find the base URI.

적용 대상

추가 정보