XDocument.Parse Metoda

Definice

Vytvoří nový XDocument z řetězce, volitelně zachová prázdné znaky, nastaví základní identifikátor URI a zachová informace o řádku.

Přetížení

Parse(String)

Vytvoří nový XDocument z řetězce.

Parse(String, LoadOptions)

Vytvoří nový XDocument z řetězce, volitelně zachová prázdné znaky, nastaví základní identifikátor URI a zachová informace o řádku.

Příklady

Následující příklad vytvoří řetězec, který obsahuje XML. Potom analyzuje řetězec do .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)

Tento příklad vytvoří následující výstup:

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

Poznámky

Tato metoda analyzuje řetězec a vytvoří strom XML.

Parse(String)

Source:
XDocument.cs
Source:
XDocument.cs
Source:
XDocument.cs

Vytvoří nový XDocument z řetězce.

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

Řetězec, který obsahuje XML.

Návraty

Naplněný XDocument z řetězce, který obsahuje XML.

Příklady

Následující příklad vytvoří řetězec, který obsahuje XML. Potom analyzuje řetězec do .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)

Tento příklad vytvoří následující výstup:

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

Poznámky

Tato metoda nezachová prázdné znaky. Pokud chcete zachovat prázdné znaky ve stromu XML, použijte přetížení , Parse které přebírá LoadOptions jako parametr.

Další informace naleznete v tématu Zachování prázdných znaků při načítání nebo parsování XML a Zachování prázdných znaků při serializaci.

funkce načítání LINQ to XML je postavená na XmlReader. Proto můžete zachytit všechny výjimky, které jsou vyvolán XmlReader.Create přetížení metody a XmlReader metody, které čtou a parsují dokument.

Viz také

Platí pro

Parse(String, LoadOptions)

Source:
XDocument.cs
Source:
XDocument.cs
Source:
XDocument.cs

Vytvoří nový XDocument z řetězce, volitelně zachová prázdné znaky, nastaví základní identifikátor URI a zachová informace o řádku.

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

Řetězec, který obsahuje XML.

options
LoadOptions

A LoadOptions , který určuje chování prázdných znaků a zda se má načíst základní identifikátor URI a informace o řádku.

Návraty

Naplněný XDocument z řetězce, který obsahuje XML.

Příklady

Následující příklad parsuje řetězec do .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())

Tento příklad vytvoří následující výstup:

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

Poznámky

Pokud je zdrojový kód XML odsazený, nastavení příznaku PreserveWhitespace v options způsobí, že čtenář přečte všechny prázdné znaky ve zdrojovém XML. Uzly typu XText se vytvářejí pro významné i nevýznamné prázdné znaky.

Pokud je zdrojový kód XML odsazený, nastavení příznaku PreserveWhitespace v options způsobí, že čtenář bude ignorovat všechny nevýznamné prázdné znaky ve zdrojovém KÓDU XML. Strom XML se vytvoří bez textových uzlů pro nevýznamné prázdné znaky.

Pokud zdrojový kód XML není odsazený, nastavení příznaku PreserveWhitespace v options nemá žádný vliv. Stále se zachovají značné prázdné znaky a neexistují žádné rozsahy nevýznamných prázdných znaků, které by mohly způsobit vytvoření více prázdných textových uzlů.

Další informace naleznete v tématu Zachování prázdných znaků při načítání nebo parsování XML a Zachování prázdných znaků při serializaci.

Nastavení SetBaseUri není platné při analýze z objektu String.

Pokud nastavíte příznak, dojde k penalizaci výkonu SetLineInfo .

Informace o řádku jsou přesné okamžitě po načtení dokumentu XML. Pokud upravíte strom XML po načtení dokumentu, informace o řádku mohou být bezvýznamné.

funkce načítání LINQ to XML je postavená na XmlReader. Proto můžete zachytit všechny výjimky, které jsou vyvolán XmlReader.Create přetížení metody a XmlReader metody, které čtou a parsují dokument.

Viz také

Platí pro