XObject.BaseUri Vlastnost

Definice

Získá základní identifikátor URI pro tento XObject.

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

Hodnota vlastnosti

String

A String , který obsahuje základní identifikátor URI pro tento XObject.

Příklady

Následující příklad načte základní identifikátor URI a informace řádku při načtení souboru. Pak vytiskne základní identifikátor URI a informace o řádku.

Tento příklad používá následující dokument XML: Ukázkový soubor XML: Typická nákupní objednávka (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  

Tento příklad vytvoří následující výstup:

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  

Poznámky

Pomocí LINQ to XML můžete deserializovat XML mnoha způsobem. Můžete ho analyzovat z řetězce, načíst ho ze souboru nebo ho číst z nebo TextReader z řetězce XmlReader. Ve všech těchto případech LINQ to XML používá jednu nebo jinou konkrétní podtřídu .XmlReader

XmlReader Někdy má základní identifikátor URI a někdy ne. Například při načítání ze souboru XmlReader zná základní identifikátor URI, ale při čtení z XmlReader vytvořené Parse metody není možné XmlReader hlásit základní identifikátor URI; XML byl v řetězci.

Pokud při analýze nebo načítání XML zadáte SetBaseUri, LINQ to XML požádá o základní identifikátor URI pro každý uzel, protože XmlReader vrátí uzel. Pokud má čtenář základní identifikátor URI, LINQ to XML uloží informace s uzlem LINQ to XML. Tato vlastnost vrátí tyto informace. Pokud podkladový identifikátor XmlReader URI nemá, vrátí tato vlastnost prázdný řetězec.

Nastavení SetBaseUri při načítání stromu XML způsobí pomalejší parsování.

Při nastavování základního identifikátoru URI pro strom XML LINQ to XML vloží poznámku do kořenového adresáře stromu. Tato vlastnost je počítaná vlastnost a přejde do stromu a vyhledá základní identifikátor URI.

Platí pro

Viz také