次の方法で共有


XML リテラルの空白 (Visual Basic)

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>

こちらも参照ください