IXmlLineInfo.HasLineInfo Método
Collapse the table of content
Expand the table of content
Este artículo se tradujo automáticamente. Para ver el artículo en inglés, active la casilla Inglés. Además, puede mostrar el texto en inglés en una ventana emergente si mueve el puntero del mouse sobre el texto.
Traducción
Inglés

XObject.IXmlLineInfo.HasLineInfo (Método) ()

 

Obtiene un valor que indica si XObject tiene información de línea o no.

Espacio de nombres:   System.Xml.Linq
Ensamblado:  System.Xml.Linq (en System.Xml.Linq.dll)

bool IXmlLineInfo.HasLineInfo()

Valor devuelto

Type: System.Boolean

true si el XObject tiene información de línea, de lo contrario false.

Puede llamar a este método para determinar si XObject contiene información de línea válida.

Este método es la implementación de un miembro de interfaz explícito de un método de la interfaz IXmlLineInfo; por tanto, para llamarlo es necesario convertirlo a IXmlLineInfo.

En este ejemplo se carga un árbol XML pequeño desde un archivo, para ello se configuran las opciones para establecer el URI base y conservar la información de línea.Después, se agrega otro elemento que no tiene información de línea.A continuación, se imprime la información de línea de cada elemento del árbol.

string markup = @"<Root>
    <Child1 />
    <Child2 />
    <Child4 />
</Root>";

File.WriteAllText("Test.xml", markup);

XElement po = XElement.Load("Test.xml",
    LoadOptions.SetBaseUri | LoadOptions.SetLineInfo);

// add a node to the tree.
// the newly added node will not have line information.
po.Element("Child2").AddAfterSelf(new XElement("Child3"));

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).HasLineInfo() ?
            ((IXmlLineInfo)e).LineNumber.ToString().PadRight(5) :
            "",
        ((IXmlLineInfo)e).HasLineInfo() ?
            ((IXmlLineInfo)e).LinePosition.ToString() :
            "No Line Information");

Este ejemplo produce el siguiente resultado.

BaseUri: Test.xml

Element Name        Line Position
------------        ---- --------
Root                1    2
  Child1            2    6
  Child2            3    6
  Child3            No Line Information
  Child4            4    6

Universal Windows Platform
Disponible desde 4.5
.NET Framework
Disponible desde 3.5
Portable Class Library
Compatible con: portable .NET platforms
Silverlight
Disponible desde 2.0
Windows Phone Silverlight
Disponible desde 7.0
Windows Phone
Disponible desde 8.1
Volver al principio
Mostrar:
© 2016 Microsoft