XDocument.Parse Yöntem

Tanım

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

Aşırı Yüklemeler

Name Description
Parse(String)

Bir dizeden yeni XDocument bir oluşturur.

Parse(String, LoadOptions)

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

Örnekler

Aşağıdaki örnek, XML içeren bir dize oluşturur. Ardından dizeyi bir XDocumentiçine ayrıştırıyor.

string str =
@"<?xml version=""1.0""?>
<!-- comment at the root level -->
<Root>
    <Child>Content</Child>
</Root>";
XDocument doc = XDocument.Parse(str);
Console.WriteLine(doc);
Dim str As String = _
    "<?xml version= '1.0'?>" & _
    "<!-- comment at the root level -->" & _
    "<Root>" & _
    "  <Child>Content</Child>" & _
    "</Root>"

Dim doc As XDocument = XDocument.Parse(str)
Console.WriteLine(doc)

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

<!-- comment at the root level -->
<Root>
  <Child>Content</Child>
</Root>

Açıklamalar

Bu yöntem bir dizeyi ayrıştırarak bir XML ağacı oluşturur.

Parse(String)

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

Bir dizeden yeni XDocument bir oluşturur.

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

Parametreler

text
String

XML içeren bir dize.

Döndürülenler

XDocument XML içeren dizeden doldurulmuş.

Örnekler

Aşağıdaki örnek, XML içeren bir dize oluşturur. Ardından dizeyi bir XDocumentiçine ayrıştırıyor.

string str =
@"<?xml version=""1.0""?>
<!-- comment at the root level -->
<Root>
    <Child>Content</Child>
</Root>";
XDocument doc = XDocument.Parse(str);
Console.WriteLine(doc);
Dim str As String = _
    "<?xml version= '1.0'?>" & _
    "<!-- comment at the root level -->" & _
    "<Root>" & _
    "  <Child>Content</Child>" & _
    "</Root>"

Dim doc As XDocument = XDocument.Parse(str)
Console.WriteLine(doc)

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

<!-- comment at the root level -->
<Root>
  <Child>Content</Child>
</Root>

Açıklamalar

Bu yöntem boşluğu korumaz. XML ağacındaki boşluğu korumak istiyorsanız, parametresi olarak alan Parse öğesinin aşırı yüklemesini LoadOptions kullanın.

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.

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

Parse(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 bir dizeden yeni XDocument bir oluşturur.

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

Parametreler

text
String

XML içeren bir dize.

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 XML içeren dizeden doldurulmuş.

Örnekler

Aşağıdaki örnek bir dizeyi içine XDocumentayrıştırmaktadır.

string str =
@"<?xml version=""1.0""?>
<!-- comment at the root level -->
<Root>
    <Child>Content</Child>
</Root>";
XDocument doc1 = XDocument.Parse(str, LoadOptions.PreserveWhitespace);
Console.WriteLine("nodes when preserving whitespace: {0}", doc1.DescendantNodes().Count());
XDocument doc2 = XDocument.Parse(str, LoadOptions.None);
Console.WriteLine("nodes when not preserving whitespace: {0}", doc2.DescendantNodes().Count());
Dim str As String = _
"<?xml version= '1.0'?>" & Environment.NewLine & _
"<!-- comment at the root level -->" & Environment.NewLine & _
"<Root>" & Environment.NewLine & _
"    <Child>Content</Child>"  & Environment.NewLine & _
"</Root>"

Dim doc1 As XDocument = XDocument.Parse(str, LoadOptions.PreserveWhitespace)
Console.WriteLine("nodes when preserving whitespace: {0}", doc1.DescendantNodes().Count())
Dim doc2 As XDocument = XDocument.Parse(str, LoadOptions.None)
Console.WriteLine("nodes when not preserving whitespace: {0}", doc2.DescendantNodes().Count())

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

nodes when preserving whitespace: 8
nodes when not preserving whitespace: 4

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.

ayarı SetBaseUri bir 'den Stringayrıştırılırken 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