XDocument.Parse Metoda
Definicja
Ważne
Niektóre informacje odnoszą się do produktu w wersji wstępnej, który może zostać znacząco zmodyfikowany przed wydaniem. Firma Microsoft nie udziela żadnych gwarancji, jawnych lub domniemanych, w odniesieniu do informacji podanych w tym miejscu.
Tworzy nowy XDocument element na podstawie ciągu, opcjonalnie zachowując biały odstęp, ustawiając podstawowy identyfikator URI i zachowując informacje o wierszu.
Przeciążenia
Parse(String) |
Tworzy nowy XDocument element na podstawie ciągu. |
Parse(String, LoadOptions) |
Tworzy nowy XDocument element na podstawie ciągu, opcjonalnie zachowując biały odstęp, ustawiając podstawowy identyfikator URI i zachowując informacje o wierszu. |
Przykłady
Poniższy przykład tworzy ciąg zawierający kod XML. Następnie analizuje ciąg do elementu XDocument.
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)
Ten przykład generuje następujące wyniki:
<!-- comment at the root level -->
<Root>
<Child>Content</Child>
</Root>
Uwagi
Ta metoda analizuje ciąg i tworzy drzewo XML.
Parse(String)
- Źródło:
- XDocument.cs
- Źródło:
- XDocument.cs
- Źródło:
- XDocument.cs
Tworzy nowy XDocument element na podstawie ciągu.
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
Parametry
- text
- String
Ciąg zawierający kod XML.
Zwraca
Wypełniony XDocument ciągiem zawierającym kod XML.
Przykłady
Poniższy przykład tworzy ciąg zawierający kod XML. Następnie analizuje ciąg do elementu XDocument.
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)
Ten przykład generuje następujące wyniki:
<!-- comment at the root level -->
<Root>
<Child>Content</Child>
</Root>
Uwagi
Ta metoda nie zachowuje odstępu. Jeśli chcesz zachować białe odstępy w drzewie XML, użyj przeciążenia Parse , które przyjmuje LoadOptions jako parametr.
Aby uzyskać więcej informacji, zobacz Zachowywanie białych znaków podczas ładowania lub analizowania kodu XML i Zachowywanie odstępu podczas serializacji.
Funkcja ładowania LINQ to XML jest oparta na .XmlReader W związku z tym można przechwycić wszelkie wyjątki, które są zgłaszane przez XmlReader.Create metody przeciążenia i XmlReader metody odczytujące i analizowane dokumentu.
Zobacz też
Dotyczy
Parse(String, LoadOptions)
- Źródło:
- XDocument.cs
- Źródło:
- XDocument.cs
- Źródło:
- XDocument.cs
Tworzy nowy XDocument element na podstawie ciągu, opcjonalnie zachowując biały odstęp, ustawiając podstawowy identyfikator URI i zachowując informacje o wierszu.
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
Parametry
- text
- String
Ciąg zawierający kod XML.
- options
- LoadOptions
Element LoadOptions określający zachowanie białych znaków oraz to, czy należy załadować podstawowy identyfikator URI i informacje o wierszu.
Zwraca
Wypełniony XDocument ciągiem zawierającym kod XML.
Przykłady
Poniższy przykład analizuje ciąg do elementu XDocument.
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())
Ten przykład generuje następujące wyniki:
nodes when preserving whitespace: 8
nodes when not preserving whitespace: 4
Uwagi
Jeśli źródłowy kod XML jest wcięta PreserveWhitespace , ustawienie flagi powoduje options
, że czytnik odczytuje wszystkie białe znaki w źródłowym formacie XML. Węzły typu XText są tworzone zarówno dla znaczących, jak i nieistotnych białych znaków.
Jeśli źródłowy kod XML jest wcięty, nie ustawia flagi PreserveWhitespace w options
elemecie powoduje, że czytnik ignoruje wszystkie nieistotne białe znaki w źródłowym formacie XML. Drzewo XML jest tworzone bez żadnych węzłów tekstowych dla nieistotnego odstępu.
Jeśli źródłowy kod XML nie jest wcięty, ustawienie flagi PreserveWhitespace w options
elemecie nie ma wpływu. Znaczne odstępy są nadal zachowywane i nie ma żadnych zakresów nieistotnych białych znaków, które mogłyby spowodować utworzenie większej liczby węzłów tekstowych odstępów.
Aby uzyskać więcej informacji, zobacz Zachowywanie białych znaków podczas ładowania lub analizowania kodu XML i Zachowywanie odstępu podczas serializacji.
Ustawienie SetBaseUri jest nieprawidłowe podczas analizowania z elementu String.
W przypadku ustawienia flagi SetLineInfo występuje kara za wydajność.
Informacje o wierszu są dokładne natychmiast po załadowaniu dokumentu XML. Jeśli po załadowaniu dokumentu zmodyfikujesz drzewo XML, informacje o wierszu mogą stać się bez znaczenia.
Funkcja ładowania LINQ to XML jest oparta na .XmlReader W związku z tym można przechwycić wszelkie wyjątki, które są zgłaszane przez XmlReader.Create metody przeciążenia i XmlReader metody odczytujące i analizowane dokumentu.