Este artículo proviene de un motor de traducción automática. Mueva el puntero sobre las frases del artículo para ver el texto original. Más información.
Traducción
Original
Este tema aún no ha recibido ninguna valoración - Valorar este tema

XObject.BaseUri (Propiedad)

Obtiene el URI base para este XObject.

Espacio de nombres:  System.Xml.Linq
Ensamblado:  System.Xml.Linq (en System.Xml.Linq.dll)
public string BaseUri { get; }

Valor de propiedad

Tipo: System.String
String que contiene el URI base para este XObject.

Utilizando LINQ to XML, puede deserializar XML en varios modos. Puede analizarla de una cadena, la carga de un archivo, o la lee de TextReader o de XmlReader. en todos estos casos, LINQ to XML utiliza una u otra de las subclases concretas de XmlReader.

XmlReader tiene a veces el URI base, y no a veces. Por ejemplo, al cargar desde un archivo, XmlReader conoce el identificador URI base, pero cuando lee de XmlReader creado debido a llamar al método de Parse , no hay posibilidad de XmlReader que señala un URI base; XML estaba en una cadena.

Si, al analizar o cargar XML, especifique SetBaseUri, LINQ to XML solicita el URI base para cada nodo como XmlReader devuelve el nodo. Si el lector tiene el identificador URI base, LINQ to XML guardará información con el nodo de LINQ to XML. esta propiedad devuelve esa información. Si XmlReader subyacente no tiene el identificador URI base, esta propiedad devolverá una cadena vacía.

Valor SetBaseUri cuando cargar un árbol XML producirá un análisis más lento.

Al establecer el URI base de un árbol XML, LINQ to XML coloca una anotación en la raíz del árbol. Esta propiedad es una propiedad calculada, y navegar hasta el árbol para encontrar el URI base.

El ejemplo siguiente carga información base de URI y de línea al cargar el archivo. A continuación imprime el identificador URI base y la línea.

este ejemplo utiliza el documento XML siguiente: 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);

este ejemplo genera el siguiente resultado:

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

.NET Framework

Compatible con: 4.5, 4, 3.5

.NET Framework Client Profile

Compatible con: 4, 3.5 SP1

Biblioteca de clases portable

Compatible con: Biblioteca de clases portable

.NET para aplicaciones de la Tienda Windows

Compatible con: Windows 8

Windows 8, Windows Server 2012, Windows 7, Windows Vista SP2, Windows Server 2008 (no se admite el rol Server Core), Windows Server 2008 R2 (se admite el rol Server Core con SP1 o versiones posteriores; no se admite Itanium)

.NET Framework no admite todas las versiones de todas las plataformas. Para obtener una lista de las versiones compatibles, vea Requisitos de sistema de .NET Framework.
¿Te ha resultado útil?
(Caracteres restantes: 1500)

Adiciones de comunidad

AGREGAR
© 2013 Microsoft. Reservados todos los derechos.