Visual Basic コンパイラは、LINQ to XML オブジェクトを作成するときに、XML リテラルの重要な空白文字のみを組み込みます。 重要でない空白文字は組み込まれません。
重要で重要でない空白
XML リテラルの空白文字は、次の 3 つの領域でのみ重要です。
属性値に含まれる場合。
要素のテキスト コンテンツの一部であり、テキストに他の文字も含まれている場合。
要素のテキスト コンテンツの埋め込み式内にある場合。
それ以外の場合、コンパイラは空白文字を重要なものとして扱い、リテラルの LINQ to XML オブジェクトには含まれません。
XML リテラルに重要でない空白を含めるには、空白を含む文字列リテラルを含む埋め込み式を使用します。
注
xml:space
属性が XML 要素リテラルに表示される場合、Visual Basic コンパイラはXElement オブジェクトに属性を含めますが、この属性を追加しても、コンパイラによる空白の処理方法は変わりません。
例示
次の例には、外側と内側の 2 つの XML 要素が含まれています。 両方の要素のテキスト コンテンツに空白が含まれています。 外側の要素の空白は、空白と XML 要素のみが含まれているため、重要な意味を持たないためです。 内側の要素の空白は、空白とテキストが含まれているため、重要です。
Dim example As XElement = <outer>
<inner>
Inner text
</inner>
</outer>
Console.WriteLine(example)
このコードを実行すると、次のテキストが表示されます。
<outer>
<inner>
Inner text
</inner>
</outer>
こちらも参照ください
GitHub で Microsoft と共同作業する
このコンテンツのソースは GitHub にあります。そこで、issue や pull request を作成および確認することもできます。 詳細については、共同作成者ガイドを参照してください。
.NET