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

Definition

Ruft den Basis-URI für dieses XObject ab.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

Eigenschaftswert

Ein String, der den Basis-URI für dieses XObject enthält.A String that contains the base URI for this XObject.

Beispiele

Im folgenden Beispiel werden der Basis-URI und die Zeilen Informationen beim Laden der Datei geladen.The following example loads the base URI and line information as it loads the file. Anschließend werden der Basis-URI und die Zeilen Informationen ausgegeben.It then prints the base URI and the line information.

Dieses Beispiel verwendet das folgende XML-Dokument: Beispiel-XML-Datei: Typische Bestellung (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  

Dieses Beispiel erzeugt die folgende Ausgabe: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  

Hinweise

Mithilfe LINQ to XML können Sie XML in einer Reihe von Fashions deserialisieren.Using LINQ to XML, you can deserialize XML in a number of fashions. Sie können Sie aus einer Zeichenfolge analysieren, Sie aus einer Datei laden oder aus einem TextReader XmlReaderoder aus lesen.You can parse it from a string, load it from a file, or read it from a TextReader or an XmlReader. In allen diesen Fällen verwendet LINQ to XML eine oder eine der konkreten Unterklassen von XmlReader.In all of these cases, LINQ to XML uses one or another of the concrete subclasses of XmlReader.

XmlReader Manchmal hat das den Basis-URI, manchmal aber auch nicht.Sometimes the XmlReader has the base URI, and sometimes it does not. Wenn Sie z. b. aus einer Datei laden XmlReader , weiß das den Basis-URI. beim Lesen XmlReader aus einer, die aufgrund des Aufruf Parse der-Methode erstellt wurde, besteht jedoch XmlReader keine Möglichkeit, dass der einen Basis-URI meldet. der XML-Code befand sich in einem Schnür.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.

Wenn Sie beim Durchsuchen oder Laden des XML-Codes angeben SetBaseUri, fordert LINQ to XML den Basis-URI für jeden Knoten an, XmlReader da der den Knoten zurückgibt.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. Wenn der Reader über den Basis-URI verfügt, speichert LINQ to XML die Informationen mit dem Knoten LINQ to XML.If the reader has the base URI, LINQ to XML will save the information with the LINQ to XML node. Diese Eigenschaft gibt diese Informationen zurück.This property returns that information. Wenn der zugrunde XmlReader liegende nicht über den Basis-URI verfügt, gibt diese Eigenschaft eine leere Zeichenfolge zurück.If the underlying XmlReader does not have the base URI, then this property will return an empty string.

Das SetBaseUri festlegen beim Laden einer XML-Struktur führt zu einer langsameren Verarbeitung.Setting SetBaseUri when loading an XML tree will result in slower parsing.

Wenn Sie den Basis-URI für eine XML-Struktur festlegen, LINQ to XML eine Anmerkung in den Stamm der Struktur einfügt.When setting the base URI for an XML tree, LINQ to XML puts an annotation on the root of the tree. Bei dieser Eigenschaft handelt es sich um eine berechnete Eigenschaft, und die Struktur wird durchsucht, um den Basis-URI zu suchen.This property is a computed property, and navigates up the tree to find the base URI.

Gilt für:

Siehe auch