Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
`
aracılığıyla bir belge yüklerken yazdığınız sorgu, aracılığıyla XDocument.LoadXElement.Loadyüklediğinizde yazdığınız sorgudan biraz farklıdır.
Karşılaştırması XDocument.Load ve XElement.Load
Bir XML belgesini XElement aracılığıyla XElement.Load yüklediğinizde, XML ağacının kökündeki XElement, yüklenen belgenin kök öğesini içerir. Ancak, aynı XML belgesini bir XDocument içine XDocument.Load aracılığıyla yüklediğinizde, ağacın kökü bir XDocument düğümdür ve yüklenen belgenin kök öğesi, XElement öğesinin izin verilen tek XDocument alt düğümüdür. LINQ to XML eksenleri kök düğüme göre çalışır.
Örnek: kullanarak XElement.Loadbir XML ağacı yükleyin, ardından alt öğeler için sorgu yapın
Bu ilk örnek Load kullanarak bir XML ağacı yükler. Ardından, ağacın kök kısmındaki alt öğeleri sorgular.
// Create a simple document and write it to a file
File.WriteAllText("Test.xml", @"<Root>
<Child1>1</Child1>
<Child2>2</Child2>
<Child3>3</Child3>
</Root>");
Console.WriteLine("Querying tree loaded with XElement.Load");
Console.WriteLine("----");
XElement doc = XElement.Load("Test.xml");
IEnumerable<XElement> childList =
from el in doc.Elements()
select el;
foreach (XElement e in childList)
Console.WriteLine(e);
' Create a simple document and write it to a file
File.WriteAllText("Test.xml", "<Root>" + Environment.NewLine + _
" <Child1>1</Child1>" + Environment.NewLine + _
" <Child2>2</Child2>" + Environment.NewLine + _
" <Child3>3</Child3>" + Environment.NewLine + _
"</Root>")
Console.WriteLine("Querying tree loaded with XElement.Load")
Console.WriteLine("----")
Dim doc As XElement = XElement.Load("Test.xml")
Dim childList As IEnumerable(Of XElement) = _
From el In doc.Elements() _
Select el
For Each e As XElement In childList
Console.WriteLine(e)
Next
Bu örnek aşağıdaki çıkışı oluşturur:
Querying tree loaded with XElement.Load
----
<Child1>1</Child1>
<Child2>2</Child2>
<Child3>3</Child3>
Örnek: kullanarak XDocument.Loadbir XML ağacı yükleyin, ardından alt öğeler için sorgu yapın
Sonraki örnek yukarıdakinin yaptığı işlemi yapar, ancak XML ağacı bir XDocument içine yüklenmiş, bir XElement yerine.
// Create a simple document and write it to a file
File.WriteAllText("Test.xml", @"<Root>
<Child1>1</Child1>
<Child2>2</Child2>
<Child3>3</Child3>
</Root>");
Console.WriteLine("Querying tree loaded with XDocument.Load");
Console.WriteLine("----");
XDocument doc = XDocument.Load("Test.xml");
IEnumerable<XElement> childList =
from el in doc.Elements()
select el;
foreach (XElement e in childList)
Console.WriteLine(e);
' Create a simple document and write it to a file
File.WriteAllText("Test.xml", "<Root>" + Environment.NewLine + _
" <Child1>1</Child1>" + Environment.NewLine + _
" <Child2>2</Child2>" + Environment.NewLine + _
" <Child3>3</Child3>" + Environment.NewLine + _
"</Root>")
Console.WriteLine("Querying tree loaded with XDocument.Load")
Console.WriteLine("----")
Dim doc As XDocument = XDocument.Load("Test.xml")
Dim childList As IEnumerable(Of XElement) = _
From el In doc.Elements() _
Select el
For Each e As XElement In childList
Console.WriteLine(e)
Next
Bu örnek aşağıdaki çıkışı oluşturur:
Querying tree loaded with XDocument.Load
----
<Root>
<Child1>1</Child1>
<Child2>2</Child2>
<Child3>3</Child3>
</Root>
Aynı sorgunun üç alt düğüm yerine bir Root düğümü döndürdüğünü fark edin.
Bununla başa çıkmanın yollarından biri, eksen yöntemlerine erişmeden önce aşağıdaki gibi Root özelliğini kullanmaktır.
// Create a simple document and write it to a file
File.WriteAllText("Test.xml", @"<Root>
<Child1>1</Child1>
<Child2>2</Child2>
<Child3>3</Child3>
</Root>");
Console.WriteLine("Querying tree loaded with XDocument.Load");
Console.WriteLine("----");
XDocument doc = XDocument.Load("Test.xml");
IEnumerable<XElement> childList =
from el in doc.Root.Elements()
select el;
foreach (XElement e in childList)
Console.WriteLine(e);
' Create a simple document and write it to a file
File.WriteAllText("Test.xml", "<Root>" + Environment.NewLine + _
" <Child1>1</Child1>" + Environment.NewLine + _
" <Child2>2</Child2>" + Environment.NewLine + _
" <Child3>3</Child3>" + Environment.NewLine + _
"</Root>")
Console.WriteLine("Querying tree loaded with XDocument.Load")
Console.WriteLine("----")
Dim doc As XDocument = XDocument.Load("Test.xml")
Dim childList As IEnumerable(Of XElement) = _
From el In doc.Root.Elements() _
Select el
For Each e As XElement In childList
Console.WriteLine(e)
Next
Bu sorgu artık XElement kökünde bulunan ağaçtaki sorgu ile aynı şekilde gerçekleştirilir.
Bu örnek aşağıdaki çıkışı oluşturur:
Querying tree loaded with XDocument.Load
----
<Child1>1</Child1>
<Child2>2</Child2>
<Child3>3</Child3>