XDocument.Parse メソッド

定義

文字列から新しい XDocument を作成し、必要に応じて空白を保持し、ベース URI を設定し、行情報を保持します。

オーバーロード

名前 説明
Parse(String)

文字列から新しい XDocument を作成します。

Parse(String, LoadOptions)

文字列から新しい XDocument を作成し、必要に応じて空白を保持し、ベース URI を設定し、行情報を保持します。

次の例では、XML を含む文字列を作成します。 次に、文字列を解析して 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)

この例を実行すると、次の出力が生成されます。

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

注釈

このメソッドは文字列を解析し、XML ツリーを作成します。

Parse(String)

ソース:
XDocument.cs
ソース:
XDocument.cs
ソース:
XDocument.cs
ソース:
XDocument.cs
ソース:
XDocument.cs

文字列から新しい XDocument を作成します。

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

パラメーター

text
String

XML を含む文字列。

返品

XML を含む文字列から設定された XDocument

次の例では、XML を含む文字列を作成します。 次に、文字列を解析して 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)

この例を実行すると、次の出力が生成されます。

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

注釈

このメソッドは空白を保持しません。 XML ツリーで空白を保持する場合は、パラメーターとしてParseを受け取るLoadOptionsのオーバーロードを使用します。

詳細については、「XML の 読み込みまたは解析中に空白を保持する 」および「 シリアル化中に空白を保持する」を参照してください。

LINQ to XML の読み込み機能は、 XmlReaderに基づいて構築されています。 そのため、 XmlReader.Create オーバーロード メソッドと、ドキュメントを読み取って解析する XmlReader メソッドによってスローされる例外をキャッチできます。

こちらもご覧ください

適用対象

Parse(String, LoadOptions)

ソース:
XDocument.cs
ソース:
XDocument.cs
ソース:
XDocument.cs
ソース:
XDocument.cs
ソース:
XDocument.cs

文字列から新しい XDocument を作成し、必要に応じて空白を保持し、ベース URI を設定し、行情報を保持します。

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

パラメーター

text
String

XML を含む文字列。

options
LoadOptions

空白の動作、およびベース URI と行情報を読み込むかどうかを指定する LoadOptions

返品

XML を含む文字列から設定された XDocument

次の例では、文字列を解析して 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())

この例を実行すると、次の出力が生成されます。

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

注釈

ソース XML がインデントされている場合、PreserveWhitespaceoptions フラグを設定すると、リーダーはソース XML 内のすべての空白を読み取ります。 XText型のノードは、重要な空白と重要でない空白の両方に対して作成されます。

ソース XML がインデントされている場合、PreserveWhitespaceoptions フラグを設定しないと、リーダーはソース XML 内の重要でない空白をすべて無視します。 XML ツリーは、重要でない空白のテキスト ノードなしで作成されます。

ソース XML がインデントされていない場合、PreserveWhitespaceoptions フラグを設定しても効果はありません。 重要な空白は引き続き保持され、空白テキスト ノードの作成を引き起こす可能性がある重要でない空白のスパンはありません。

詳細については、「XML の 読み込みまたは解析中に空白を保持する 」および「 シリアル化中に空白を保持する」を参照してください。

SetBaseUriから解析する場合、Stringの設定は無効です。

SetLineInfo フラグを設定すると、パフォーマンスが低下します。

行情報は、XML ドキュメントを読み込んだ直後に正確です。 ドキュメントの読み込み後に XML ツリーを変更すると、行情報が意味をなさなくなる可能性があります。

LINQ to XML の読み込み機能は、 XmlReaderに基づいて構築されています。 そのため、 XmlReader.Create オーバーロード メソッドと、ドキュメントを読み取って解析する XmlReader メソッドによってスローされる例外をキャッチできます。

こちらもご覧ください

適用対象