XDocument.Parse Yöntem
Tanım
Önemli
Bazı bilgiler ürünün ön sürümüyle ilgilidir ve sürüm öncesinde önemli değişiklikler yapılmış olabilir. Burada verilen bilgilerle ilgili olarak Microsoft açık veya zımni hiçbir garanti vermez.
İsteğe bağlı olarak boşluk koruyan, temel URI'yi ayarlayan ve satır bilgilerini koruyan bir dizeden yeni XDocument bir oluşturur.
Aşırı Yüklemeler
Parse(String) |
Dizeden yeni XDocument bir oluşturur. |
Parse(String, LoadOptions) |
İsteğe bağlı olarak boşluk koruyan, temel URI'yi ayarlayan ve satır bilgilerini koruyan 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)
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 LoadOptions öğesinin aşırı yüklemesini Parse kullanın.
Daha fazla bilgi için bkz . XML'yi yüklerken veya ayrıştırırken boşluğu koruma ve Seri hale getirme sırasında boşluğu koruma.
LINQ to XML yükleme işlevselliği üzerine kurulmuşturXmlReader. Bu nedenle, aşırı yükleme yöntemleri ve XmlReader belgeyi XmlReader.Create okuyup ayrıştıran yöntemler tarafından oluşan özel durumları yakalayabilirsiniz.
Ayrıca bkz.
Şunlara uygulanır
Parse(String, LoadOptions)
İsteğe bağlı olarak boşluk koruyan, temel URI'yi ayarlayan ve satır bilgilerini koruyan 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 içinde options
ayarlanması 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ı PreserveWhitespace options
içinde ayarlamamak okuyucunun kaynak XML'deki tüm önemsiz boşlukları yoksaymasına neden olur. XML ağacı, önemsiz boşluk için herhangi bir metin düğümü olmadan oluşturulur.
Kaynak XML girintili değilse, bayrağının içinde options
ayarlanmasının PreserveWhitespace hiçbir etkisi olmaz. Önemli boşluklar korunmaya devam eder ve daha fazla boşluk metin düğümü oluşturulmasına neden olabilecek önemsiz boşluk yayılmaz.
Daha fazla bilgi için bkz . XML'yi yüklerken veya ayrıştırırken boşluğu koruma ve Seri hale getirme sırasında boşluğu koruma.
ayarı SetBaseUri bir String'den ayrıştırılırken geçerli değil.
Bayrağı ayarlarsanız SetLineInfo bir performans cezası uygulanı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 yükleme işlevselliği üzerine kurulmuşturXmlReader. Bu nedenle, aşırı yükleme yöntemleri ve XmlReader belgeyi XmlReader.Create okuyup ayrıştıran yöntemler tarafından oluşan özel durumları yakalayabilirsiniz.