XDocument.Load Yöntem

Tanım

URI tarafından belirtilen bir dosyadan, bir veya dosyasından XDocumentyeni TextReader bir XmlReaderoluşturur.

Aşırı Yüklemeler

Name Description
Load(Stream)

Belirtilen akışı kullanarak yeni XDocument bir örnek oluşturur.

Load(TextReader)

bir sürümünden yeni XDocument bir TextReaderoluşturur.

Load(String)

Bir dosyadan yeni XDocument bir oluşturur.

Load(XmlReader)

bir sürümünden yeni XDocument bir XmlReaderoluşturur.

Load(Stream, LoadOptions)

Belirtilen akışı kullanarak, isteğe bağlı olarak boşluk koruyarak, temel URI'yi ayarlayarak ve satır bilgilerini koruyarak yeni XDocument bir örnek oluşturur.

Load(TextReader, LoadOptions)

bir sürümünden XDocumentyeni TextReader bir oluşturur; isteğe bağlı olarak boşluğu korur, temel URI'yi ayarlar ve satır bilgilerini korur.

Load(String, LoadOptions)

İsteğe bağlı olarak boşluk koruyarak, temel URI'yi ayarlayarak ve satır bilgilerini koruyarak dosyadan yeni XDocument bir dosya oluşturur.

Load(XmlReader, LoadOptions)

bir 'den XDocumentbir XmlReader yükler, isteğe bağlı olarak temel URI'yi ayarlar ve satır bilgilerini korur.

Açıklamalar

Bu yöntemin aşırı yüklemelerinden birini kullanarak bir dosyasından, bir XDocumentveya TextReaderbir dosyasından yükleyebilirsinizXmlReader.

XML içeren bir XDocument dizeden oluşturmak için kullanın Parse.

Load(Stream)

Kaynak:
XDocument.cs
Kaynak:
XDocument.cs
Kaynak:
XDocument.cs
Kaynak:
XDocument.cs
Kaynak:
XDocument.cs

Belirtilen akışı kullanarak yeni XDocument bir örnek oluşturur.

public:
 static System::Xml::Linq::XDocument ^ Load(System::IO::Stream ^ stream);
public static System.Xml.Linq.XDocument Load(System.IO.Stream stream);
static member Load : System.IO.Stream -> System.Xml.Linq.XDocument
Public Shared Function Load (stream As Stream) As XDocument

Parametreler

stream
Stream

XML verilerini içeren akış.

Döndürülenler

XDocument Akışta yer alan verileri okuyan bir nesne.

Açıklamalar

Yük seçeneklerini denetlemek istiyorsanız, parametre olarak alan Load aşırı yüklemeyi kullanınLoadOptions.

LINQ to XML'nin yükleme işlevi üzerine kurulmuştur XmlReader. Bu nedenle, aşırı yükleme yöntemleri ve XmlReader.Create belgeyi XmlReader okuyup ayrıştıran yöntemler tarafından oluşan özel durumları yakalayabilirsiniz.

üzerinde değişiklik XmlReaderSettingsyapmak zorundaysanız şu adımları izleyin:

  1. XmlReader Parametre olarak alan Create aşırı yüklemelerden birini XmlReaderSettings çağırarak bir oluşturun.

  2. XmlReader parametresi olarak alan Load aşırı yüklemelerinden XDocument birine XmlReader geçirin.

Şunlara uygulanır

Load(TextReader)

Kaynak:
XDocument.cs
Kaynak:
XDocument.cs
Kaynak:
XDocument.cs
Kaynak:
XDocument.cs
Kaynak:
XDocument.cs

bir sürümünden yeni XDocument bir TextReaderoluşturur.

public:
 static System::Xml::Linq::XDocument ^ Load(System::IO::TextReader ^ textReader);
public static System.Xml.Linq.XDocument Load(System.IO.TextReader textReader);
static member Load : System.IO.TextReader -> System.Xml.Linq.XDocument
Public Shared Function Load (textReader As TextReader) As XDocument

Parametreler

textReader
TextReader

TextReader için XDocumentiçeriği içeren bir.

Döndürülenler

XDocument Belirtilen TextReaderöğesinin içeriğini içeren bir .

Örnekler

Aşağıdaki örnek, içinden bir StringReaderbelge oluşturur.

TextReader tr = new StringReader("<Root>Content</Root>");
XDocument doc = XDocument.Load(tr);
Console.WriteLine(doc);
Dim tr As TextReader = New StringReader("<Root>Content</Root>")
Dim doc As XDocument = XDocument.Load(tr)
Console.WriteLine(doc)

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

<Root>Content</Root>

Açıklamalar

LINQ to XML'nin yükleme işlevi üzerinde XmlReaderoluşturulur. Bu nedenle, aşırı yükleme yöntemleri ve XmlReader.Create belgeyi XmlReader okuyup ayrıştıran yöntemler tarafından oluşan özel durumları yakalayabilirsiniz.

Ayrıca bkz.

Şunlara uygulanır

Load(String)

Kaynak:
XDocument.cs
Kaynak:
XDocument.cs
Kaynak:
XDocument.cs
Kaynak:
XDocument.cs
Kaynak:
XDocument.cs

Bir dosyadan yeni XDocument bir oluşturur.

public:
 static System::Xml::Linq::XDocument ^ Load(System::String ^ uri);
public static System.Xml.Linq.XDocument Load(string uri);
static member Load : string -> System.Xml.Linq.XDocument
Public Shared Function Load (uri As String) As XDocument

Parametreler

uri
String

Yeni XDocumentbir dosyasına yüklemek için dosyaya başvuran bir URI dizesi.

Döndürülenler

XDocument Belirtilen dosyanın içeriğini içeren bir.

Örnekler

Aşağıdaki örnekte bir XDocument dosyadan nasıl yüklenecek gösterilmektedir.

Bu örnekte aşağıdaki XML belgesi kullanılır:

Örnek XML Dosyası: Tipik Satın Alma Siparişi (LINQ to XML)

XDocument doc = XDocument.Load("PurchaseOrder.xml");
Console.WriteLine(doc);
Dim doc As XDocument = XDocument.Load("PurchaseOrder.xml")
Console.WriteLine(doc)

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

<PurchaseOrder PurchaseOrderNumber="99503" OrderDate="1999-10-20">
  <Address Type="Shipping">
    <Name>Ellen Adams</Name>
    <Street>123 Maple Street</Street>
    <City>Mill Valley</City>
    <State>CA</State>
    <Zip>10999</Zip>
    <Country>USA</Country>
  </Address>
  <Address Type="Billing">
    <Name>Tai Yee</Name>
    <Street>8 Oak Avenue</Street>
    <City>Old Town</City>
    <State>PA</State>
    <Zip>95819</Zip>
    <Country>USA</Country>
  </Address>
  <DeliveryNotes>Please leave packages in shed by driveway.</DeliveryNotes>
  <Items>
    <Item PartNumber="872-AA">
      <ProductName>Lawnmower</ProductName>
      <Quantity>1</Quantity>
      <USPrice>148.95</USPrice>
      <Comment>Confirm this is electric</Comment>
    </Item>
    <Item PartNumber="926-AA">
      <ProductName>Baby Monitor</ProductName>
      <Quantity>2</Quantity>
      <USPrice>39.98</USPrice>
      <ShipDate>1999-05-21</ShipDate>
    </Item>
  </Items>
</PurchaseOrder>

Açıklamalar

Bu yöntem, XML'yi bir XML ağacına okumak için temel alınan XmlReader bir kullanır.

XML içeren bir Parse dizeden bir oluşturmak için kullanınXDocument.

LINQ to XML'nin yükleme işlevi üzerinde XmlReaderoluşturulur. Bu nedenle, aşırı yükleme yöntemleri ve XmlReader.Create belgeyi XmlReader okuyup ayrıştıran yöntemler tarafından oluşan özel durumları yakalayabilirsiniz.

Ayrıca bkz.

Şunlara uygulanır

Load(XmlReader)

Kaynak:
XDocument.cs
Kaynak:
XDocument.cs
Kaynak:
XDocument.cs
Kaynak:
XDocument.cs
Kaynak:
XDocument.cs

bir sürümünden yeni XDocument bir XmlReaderoluşturur.

public:
 static System::Xml::Linq::XDocument ^ Load(System::Xml::XmlReader ^ reader);
public static System.Xml.Linq.XDocument Load(System.Xml.XmlReader reader);
static member Load : System.Xml.XmlReader -> System.Xml.Linq.XDocument
Public Shared Function Load (reader As XmlReader) As XDocument

Parametreler

reader
XmlReader

XmlReader için XDocumentiçeriği içeren bir.

Döndürülenler

XDocument Belirtilen XmlReaderöğesinin içeriğini içeren bir .

Örnekler

Aşağıdaki örnek bir DOM belgesi oluşturur, DOM belgesinden bir XmlNodeReader oluşturur, kullanarak XDocumentbir XmlNodeReader oluşturur.

// Create a DOM document with some content.
XmlDocument doc = new XmlDocument();
XmlElement child = doc.CreateElement("Child");
child.InnerText = "child contents";
XmlElement root = doc.CreateElement("Root");
root.AppendChild(child);
doc.AppendChild(root);

// create a reader and move to the content
using (XmlNodeReader nodeReader = new XmlNodeReader(doc)) {
    // the reader must be in the Interactive state in order to
    // create a LINQ to XML tree from it.
    nodeReader.MoveToContent();

    XDocument xRoot = XDocument.Load(nodeReader);
    Console.WriteLine(xRoot);
}
' Create a DOM document with some content.
Dim doc As XmlDocument = New XmlDocument()
Dim child As XmlElement = doc.CreateElement("Child")
child.InnerText = "child contents"
Dim root As XmlElement = doc.CreateElement("Root")
root.AppendChild(child)
doc.AppendChild(root)

' create a reader and move to the content
Using nodeReader = New XmlNodeReader(doc)
    ' the reader must be in the Interactive state in order to
    ' create a LINQ to XML tree from it.
    nodeReader.MoveToContent()

    Dim xRoot As XDocument = XDocument.Load(nodeReader)
    Console.WriteLine(xRoot)
End Using

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

<Root>
  <Child>child contents</Child>
</Root>

Açıklamalar

Bu yöntemin olası kullanımlarından biri, LINQ to XML ağacında dom belgesinin bir kopyasını oluşturmaktır. Bunu yapmak için bir DOM belgesinden bir XmlNodeReader oluşturur ve ardından oluşturmak için XmlNodeReaderöğesini XDocument kullanırsınız.

LINQ to XML'nin yükleme işlevi üzerinde XmlReaderoluşturulur. Bu nedenle, aşırı yükleme yöntemleri ve XmlReader.Create belgeyi XmlReader okuyup ayrıştıran yöntemler tarafından oluşan özel durumları yakalayabilirsiniz.

Ayrıca bkz.

Şunlara uygulanır

Load(Stream, LoadOptions)

Kaynak:
XDocument.cs
Kaynak:
XDocument.cs
Kaynak:
XDocument.cs
Kaynak:
XDocument.cs
Kaynak:
XDocument.cs

Belirtilen akışı kullanarak, isteğe bağlı olarak boşluk koruyarak, temel URI'yi ayarlayarak ve satır bilgilerini koruyarak yeni XDocument bir örnek oluşturur.

public:
 static System::Xml::Linq::XDocument ^ Load(System::IO::Stream ^ stream, System::Xml::Linq::LoadOptions options);
public static System.Xml.Linq.XDocument Load(System.IO.Stream stream, System.Xml.Linq.LoadOptions options);
static member Load : System.IO.Stream * System.Xml.Linq.LoadOptions -> System.Xml.Linq.XDocument
Public Shared Function Load (stream As Stream, options As LoadOptions) As XDocument

Parametreler

stream
Stream

XML verilerini içeren akış.

options
LoadOptions

LoadOptions Temel URI'nin ve satır bilgilerinin yüklenip yüklenmeyeceğini belirten bir.

Döndürülenler

XDocument Akışta yer alan verileri okuyan bir nesne.

Açıklamalar

LINQ to XML'nin yükleme işlevi üzerine kurulmuştur XmlReader. Bu nedenle, aşırı yükleme yöntemleri ve XmlReader.Create belgeyi XmlReader okuyup ayrıştıran yöntemler tarafından oluşan özel durumları yakalayabilirsiniz.

üzerinde değişiklik XmlReaderSettingsyapmak zorundaysanız şu adımları izleyin:

  1. XmlReader Parametre olarak alan Create aşırı yüklemelerden birini XmlReaderSettings çağırarak bir oluşturun.

  2. XmlReader parametresi olarak alan Load aşırı yüklemelerinden XDocument birine XmlReader geçirin.

Şunlara uygulanır

Load(TextReader, LoadOptions)

Kaynak:
XDocument.cs
Kaynak:
XDocument.cs
Kaynak:
XDocument.cs
Kaynak:
XDocument.cs
Kaynak:
XDocument.cs

bir sürümünden XDocumentyeni TextReader bir oluşturur; isteğe bağlı olarak boşluğu korur, temel URI'yi ayarlar ve satır bilgilerini korur.

public:
 static System::Xml::Linq::XDocument ^ Load(System::IO::TextReader ^ textReader, System::Xml::Linq::LoadOptions options);
public static System.Xml.Linq.XDocument Load(System.IO.TextReader textReader, System.Xml.Linq.LoadOptions options);
static member Load : System.IO.TextReader * System.Xml.Linq.LoadOptions -> System.Xml.Linq.XDocument
Public Shared Function Load (textReader As TextReader, options As LoadOptions) As XDocument

Parametreler

textReader
TextReader

TextReader için XDocumentiçeriği içeren bir.

options
LoadOptions

LoadOptions Boşluk davranışını ve temel URI ile satır bilgilerinin yüklenip yüklenmeyeceğini belirten bir.

Döndürülenler

XDocument Belirtilen TextReaderöğesinden okunan XML'yi içeren bir .

Örnekler

Aşağıdaki örnek, içinden bir StringReaderbelge oluşturur.

TextReader sr;
int whiteSpaceNodes;

sr = new StringReader("<Root> <Child> </Child> </Root>");
XDocument xmlTree1 = XDocument.Load(sr, LoadOptions.None);
sr.Close();
whiteSpaceNodes = xmlTree1
    .Element("Root")
    .DescendantNodesAndSelf()
    .OfType<XText>()
    .Where(tNode => tNode.ToString().Trim().Length == 0)
    .Count();
Console.WriteLine("Count of white space nodes (not preserving whitespace): {0}", whiteSpaceNodes);

sr = new StringReader("<Root> <Child> </Child> </Root>");
XDocument xmlTree2 = XDocument.Load(sr, LoadOptions.PreserveWhitespace);
sr.Close();
whiteSpaceNodes = xmlTree2
    .Element("Root")
    .DescendantNodesAndSelf()
    .OfType<XText>()
    .Where(tNode => tNode.ToString().Trim().Length == 0)
    .Count();
Console.WriteLine("Count of white space nodes (preserving whitespace): {0}", whiteSpaceNodes);
Dim sr As TextReader
Dim whiteSpaceNodes As Integer

sr = New StringReader("<Root> <Child> </Child> </Root>")
Dim xmlTree1 As XDocument = XDocument.Load(sr, LoadOptions.None)
sr.Close()
whiteSpaceNodes = xmlTree1 _
              .Element("Root") _
              .DescendantNodesAndSelf() _
              .OfType(Of XText)() _
              .Where(Function(ByVal tNode As XNode) tNode. _
                  ToString().Trim().Length = 0).Count()
Console.WriteLine("Count of white space nodes (not preserving whitespace): {0}", whiteSpaceNodes)

sr = New StringReader("<Root> <Child> </Child> </Root>")
Dim xmlTree2 As XDocument = XDocument.Load(sr, LoadOptions.PreserveWhitespace)
sr.Close()
whiteSpaceNodes = xmlTree2 _
              .Element("Root") _
              .DescendantNodesAndSelf() _
              .OfType(Of XText)() _
              .Where(Function(ByVal tNode As XNode) tNode. _
                  ToString().Trim().Length = 0).Count()
Console.WriteLine("Count of white space nodes (preserving whitespace): {0}", whiteSpaceNodes)

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

Count of white space nodes (not preserving whitespace): 0
Count of white space nodes (preserving whitespace): 3

Açıklamalar

Kaynak XML girintiliyse, bayrağının PreserveWhitespace ayarlanması options okuyucunun kaynak XML'deki tüm boşlukları okumasına neden olur. Türündeki XText düğümler hem önemli hem de önemsiz boşluklar için oluşturulur.

Kaynak XML girintiliyse, bayrağın PreserveWhitespaceoptions ayarlanmaması okuyucunun kaynak XML'deki tüm önemsiz boşlukları yoksaymasına neden olur. XML ağacı, önemsiz boşluklar için herhangi bir metin düğümü olmadan oluşturulur.

Kaynak XML girintili değilse, bayrağının içinde PreserveWhitespace ayarlanmasının options hiçbir etkisi olmaz. Önemli boşluklar hala korunur ve daha fazla boşluk metin düğümü oluşturulmasına neden olabilecek önemsiz boşluk aralıkları yoktur.

Daha fazla bilgi için bkz . XML'yi yüklerken veya ayrıştırırken boşluklarıkoruma ve Seri hale getirirken boşlukları koruma.

XML içeren bir Parse dizeden bir oluşturmak için kullanınXElement.

ayarı SetBaseUri bir TextReader'den yüklenirken geçerli değil.

Bayrağı ayarlarsanız SetLineInfo bir performans cezası vardır.

Satır bilgileri, XML belgesi yüklendikten hemen sonra doğrulanır. Belgeyi yükledikten sonra XML ağacını değiştirirseniz, satır bilgileri anlamsız hale gelebilir.

LINQ to XML'nin yükleme işlevi üzerinde XmlReaderoluşturulur. Bu nedenle, aşırı yükleme yöntemleri ve XmlReader.Create belgeyi XmlReader okuyup ayrıştıran yöntemler tarafından oluşan özel durumları yakalayabilirsiniz.

Ayrıca bkz.

Şunlara uygulanır

Load(String, LoadOptions)

Kaynak:
XDocument.cs
Kaynak:
XDocument.cs
Kaynak:
XDocument.cs
Kaynak:
XDocument.cs
Kaynak:
XDocument.cs

İsteğe bağlı olarak boşluk koruyarak, temel URI'yi ayarlayarak ve satır bilgilerini koruyarak dosyadan yeni XDocument bir dosya oluşturur.

public:
 static System::Xml::Linq::XDocument ^ Load(System::String ^ uri, System::Xml::Linq::LoadOptions options);
public static System.Xml.Linq.XDocument Load(string uri, System.Xml.Linq.LoadOptions options);
static member Load : string * System.Xml.Linq.LoadOptions -> System.Xml.Linq.XDocument
Public Shared Function Load (uri As String, options As LoadOptions) As XDocument

Parametreler

uri
String

Yeni XDocumentbir dosyasına yüklemek için dosyaya başvuran bir URI dizesi.

options
LoadOptions

LoadOptions Boşluk davranışını ve temel URI ile satır bilgilerinin yüklenip yüklenmeyeceğini belirten bir.

Döndürülenler

XDocument Belirtilen dosyanın içeriğini içeren bir.

Örnekler

Aşağıdaki örnekte bir XDocument dosyadan nasıl yüklenecek gösterilmektedir.

Bu örnekte aşağıdaki XML belgesi kullanılır:

Örnek XML Dosyası: Tipik Satın Alma Siparişi (LINQ to XML)

XDocument doc1 = XDocument.Load("PurchaseOrder.xml", LoadOptions.None);
Console.WriteLine("nodes if not preserving whitespace: {0}", doc1.DescendantNodes().Count());

XDocument doc2 = XDocument.Load("PurchaseOrder.xml", LoadOptions.PreserveWhitespace);
Console.WriteLine("nodes if preserving whitespace: {0}", doc2.DescendantNodes().Count());
Dim doc1 As XDocument = XDocument.Load("PurchaseOrder.xml", LoadOptions.None)
Console.WriteLine("nodes if not preserving whitespace: {0}", doc1.DescendantNodes().Count())

Dim doc2 As XDocument = XDocument.Load("PurchaseOrder.xml", LoadOptions.PreserveWhitespace)
Console.WriteLine("nodes if preserving whitespace: {0}", doc2.DescendantNodes().Count())

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

nodes if not preserving whitespace: 48
nodes if preserving whitespace: 82

Açıklamalar

Kaynak XML girintiliyse, bayrağının PreserveWhitespace ayarlanması options okuyucunun kaynak XML'deki tüm boşlukları okumasına neden olur. Türündeki XText düğümler hem önemli hem de önemsiz boşluklar için oluşturulur.

Kaynak XML girintiliyse, bayrağın PreserveWhitespaceoptions ayarlanmaması okuyucunun kaynak XML'deki tüm önemsiz boşlukları yoksaymasına neden olur. XML ağacı, önemsiz boşluklar için herhangi bir metin düğümü olmadan oluşturulur.

Kaynak XML girintili değilse, bayrağının içinde PreserveWhitespace ayarlanmasının options hiçbir etkisi olmaz. Önemli boşluklar hala korunur ve daha fazla boşluk metin düğümü oluşturulmasına neden olabilecek önemsiz boşluk aralıkları yoktur.

Daha fazla bilgi için bkz . XML'yi yüklerken veya ayrıştırırken boşluklarıkoruma ve Seri hale getirirken boşlukları koruma.

XML içeren bir Parse dizeden bir oluşturmak için kullanınXDocument.

ve SetBaseUri bayraklarını ayarlarsanız SetLineInfo bir performans cezası vardır.

Temel URI ve satır bilgileri, XML belgesi yüklendikten hemen sonra doğru. Belgeyi yükledikten sonra XML ağacını değiştirirseniz, temel URI ve satır bilgileri anlamsız hale gelebilir.

LINQ to XML'nin yükleme işlevi üzerinde XmlReaderoluşturulur. Bu nedenle, aşırı yükleme yöntemleri ve XmlReader.Create belgeyi XmlReader okuyup ayrıştıran yöntemler tarafından oluşan özel durumları yakalayabilirsiniz.

Ayrıca bkz.

Şunlara uygulanır

Load(XmlReader, LoadOptions)

Kaynak:
XDocument.cs
Kaynak:
XDocument.cs
Kaynak:
XDocument.cs
Kaynak:
XDocument.cs
Kaynak:
XDocument.cs

bir 'den XDocumentbir XmlReader yükler, isteğe bağlı olarak temel URI'yi ayarlar ve satır bilgilerini korur.

public:
 static System::Xml::Linq::XDocument ^ Load(System::Xml::XmlReader ^ reader, System::Xml::Linq::LoadOptions options);
public static System.Xml.Linq.XDocument Load(System.Xml.XmlReader reader, System.Xml.Linq.LoadOptions options);
static member Load : System.Xml.XmlReader * System.Xml.Linq.LoadOptions -> System.Xml.Linq.XDocument
Public Shared Function Load (reader As XmlReader, options As LoadOptions) As XDocument

Parametreler

reader
XmlReader

XmlReader içeriğinin okunacağı birXDocument.

options
LoadOptions

LoadOptions Temel URI'nin ve satır bilgilerinin yüklenip yüklenmeyeceğini belirten bir.

Döndürülenler

XDocument Belirtilen XmlReaderöğesinden okunan XML'yi içeren bir .

Örnekler

Aşağıdaki örnek, içinden XmlReaderyüklemiş olduğu satır bilgilerini yükler. Ardından satır bilgilerini yazdırır.

string markup =
@"<Root>
    <Child>
        <GrandChild/>
    </Child>
</Root>";

// Create a reader and move to the content.
using (XmlReader nodeReader = XmlReader.Create(new StringReader(markup)))
{
    // the reader must be in the Interactive state in order to
    // Create a LINQ to XML tree from it.
    nodeReader.MoveToContent();

    XDocument xRoot = XDocument.Load(nodeReader, LoadOptions.SetLineInfo);
    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 xRoot.Elements("Root").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 markup As String = _
    "<Root>" & Environment.NewLine & _
    "    <Child>" & Environment.NewLine & _
    "        <GrandChild/>" & Environment.NewLine & _
    "    </Child>" & Environment.NewLine & _
    "</Root>"

' Create a reader and move to the content.
Using nodeReader As XmlReader = XmlReader.Create(New StringReader(markup))

    ' The reader must be in the Interactive state in order to
    ' create a LINQ to XML tree from it.
    nodeReader.MoveToContent()

    Dim xRoot As XDocument = XDocument.Load(nodeReader, LoadOptions.SetLineInfo)
    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 xRoot.Elements("Root").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
End Using

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

Element Name        Line Position
------------        ---- --------
Root                1    2
  Child             2    6
    GrandChild      3    10

Açıklamalar

DOM belgesinden bir XmlNodeReader oluşturup oluşturmak için XmlNodeReaderöğesini kullanarakXElement, bu yöntem LINQ to XML ağacında dom belgesinin kopyasını oluşturmak için kullanılabilir.

XML içeren bir Parse dizeden bir oluşturmak için kullanınXDocument.

ayarı PreserveWhitespace bir XmlReader'den yüklenirken geçerli değil. XmlReader, boşluk okuyacak veya okumayacak şekilde yapılandırılacaktır. LINQ to XML ağacı okuyucunun ortaya çıkaracağı boşluk düğümleriyle doldurulur. Ayarlanıp ayarlanmadığına PreserveWhitespace bakılmaksızın bu davranış olacaktır.

geçerli XmlReader bir temel URI'ye sahip olabilir veya olmayabilir. ayarlarsanız SetBaseUri, temel URI, tarafından XmlReaderbildirilen temel URI'den XML ağacında ayarlanır.

geçerli XmlReader bir satır bilgilerine sahip olabilir veya olmayabilir. ayarlarsanız SetLineInfo, satır bilgileri TARAFıNDAN bildirilen XmlReadersatır bilgilerinden XML ağacında ayarlanır.

Bayrağı ayarlarsanız SetLineInfo bir performans cezası vardır.

Satır bilgileri, XML belgesi yüklendikten hemen sonra doğrulanır. Belgeyi yükledikten sonra XML ağacını değiştirirseniz, satır bilgileri anlamsız hale gelebilir.

LINQ to XML'nin yükleme işlevi üzerinde XmlReaderoluşturulur. Bu nedenle, aşırı yükleme yöntemleri ve XmlReader.Create belgeyi XmlReader okuyup ayrıştıran yöntemler tarafından oluşan özel durumları yakalayabilirsiniz.

Ayrıca bkz.

Şunlara uygulanır