XObject.IXmlLineInfo.HasLineInfo Yöntem

Tanım

Bunun XObject satır bilgilerine sahip olup olmadığını belirten bir değer alır.

C#
bool IXmlLineInfo.HasLineInfo ();

Döndürülenler

Boolean

trueXObject satır bilgilerine sahipse; değilse, false.

Uygulamalar

Örnekler

Bu örnek, temel URI'yi ayarlamak ve satır bilgilerini korumak için seçenekleri ayarlayarak dosyadan küçük bir XML ağacı yükler. Daha sonra satır bilgisi olmayan başka bir öğe ekler. Ardından ağaçtaki her öğe için satır bilgilerini yazdırır.

C#
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");  

Bu örnek aşağıdaki çıkışı oluşturur:

BaseUri: Test.xml  

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

Açıklamalar

Öğesinin geçerli satır bilgileri içerip içermediğini XObject belirlemek için bu yöntemi çağırabilirsiniz.

Bu yöntem, arabirimindeki IXmlLineInfo bir yöntemin açık arabirim üyesi uygulamasıdır, bu nedenle bu yöntemi çağırmak için öğesine atama IXmlLineInfoyapılması gerekir.

Şunlara uygulanır

Ürün Sürümler
.NET Core 1.0, Core 1.1, Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7
.NET Framework 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8
.NET Standard 1.0, 1.1, 1.2, 1.3, 1.4, 1.6, 2.0, 2.1
UWP 10.0