XML リテラルでの空白文字 (Visual Basic)
Visual Basic コンパイラは、LINQ to XML オブジェクトを作成するときに、XML リテラルから有意の空白文字のみを組み込みます。 意味のない空白文字は組み込まれません。
有意の空白と意味のない空白
XML リテラルの空白文字は、次の 3 つの領域でのみ意味があります。
属性値に含まれている場合。
要素のテキスト コンテンツの一部であり、テキストに他の文字も含まれている場合。
要素のテキスト コンテンツの埋め込み式に含まれている場合。
それ以外の場合、空白文字はコンパイラによって意味のないものとして扱われ、リテラルの LINQ to XML オブジェクトに含まれません。
XML リテラルに意味のない空白を含めるには、空白を含む文字列リテラルを含む埋め込み式を使用します。
Note
XML 要素リテラルに xml:space
属性が含まれている場合、Visual Basic コンパイラによって XElement オブジェクトに属性が含まれますが、この属性を追加しても、コンパイラが空白を処理する方法は変わりません。
使用例
次の例には、2 つの XML 要素 (outer と inner) が含まれています。 どちらの要素にも、テキスト コンテンツ内に空白が含まれています。 outer 要素には空白と XML 要素しか含まれていないため、その空白は意味がありません。 inner 要素には空白とテキストが含まれているため、その空白は有意です。
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