次の方法で共有


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 を作成します。

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、ドキュメントをXmlReader.Create読み取って解析するメソッドによってスローされる例外をキャッチできます。

こちらもご覧ください

適用対象

Parse(String, LoadOptions)

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

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

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

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

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

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

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

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

こちらもご覧ください

適用対象