XmlReader.IsEmptyElement XmlReader.IsEmptyElement XmlReader.IsEmptyElement XmlReader.IsEmptyElement Property


派生クラスでオーバーライドされると、現在のノードが空の要素 (<MyElement/> など) かどうかを示す値を取得します。When overridden in a derived class, gets a value indicating whether the current node is an empty element (for example, <MyElement/>).

 abstract property bool IsEmptyElement { bool get(); };
public abstract bool IsEmptyElement { get; }
member this.IsEmptyElement : bool
Public MustOverride ReadOnly Property IsEmptyElement As Boolean


true現在NodeTypeのノードがでXmlNodeType.Element /終わる要素(equals) である場合は。それ以外の場合は。 > falsetrue if the current node is an element (NodeType equals XmlNodeType.Element) that ends with />; otherwise, false.


先行の非同期操作が完了する前に、XmlReader メソッドが呼び出されました。An XmlReader method was called before a previous asynchronous operation finished. この場合、「非同期操作が既に実行されています」というメッセージと共に InvalidOperationException がスローされます。In this case, InvalidOperationException is thrown with the message "An asynchronous operation is already in progress."

次の例では、各要素のテキストの内容を表示します。The following example displays the text content of each element.

while (reader.Read()) {
  if (reader.IsStartElement()) {
    if (reader.IsEmptyElement)
      Console.WriteLine("<{0}/>", reader.Name);
    else {
      Console.Write("<{0}> ", reader.Name);
      reader.Read(); // Read the start tag.
      if (reader.IsStartElement())  // Handle nested elements.
        Console.Write("\r\n<{0}>", reader.Name);
      Console.WriteLine(reader.ReadString());  //Read the text content of the element.
While reader.Read()
  If reader.IsStartElement() Then
    If reader.IsEmptyElement Then
      Console.WriteLine("<{0}/>", reader.Name)
      Console.Write("<{0}> ", reader.Name)
      reader.Read() ' Read the start tag.
      If reader.IsStartElement() Then ' Handle nested elements.
        Console.Write(vbCr + vbLf + "<{0}>", reader.Name)
      End If
      Console.WriteLine(reader.ReadString()) 'Read the text content of the element.
    End If
  End If
End While

この例では、ファイルelems.xmlを入力として使用します。The example uses the file, elems.xml, as input.

  <title>Pride And Prejudice</title>


このプロパティにより、次のことが区別できます。This property enables you to determine the difference between the following:

<item num="123"/>(IsEmptyElementtrue) です。<item num="123"/> (IsEmptyElement is true).

<item num="123"></item>(IsEmptyElementfalseですが、要素の内容は空です)。<item num="123"></item> (IsEmptyElement is false, although element content is empty).

対応するEndElementノードは、空の要素に対しては生成されません。A corresponding EndElement node is not generated for empty elements.

スキーマの検証によって既定のコンテンツが要素に追加さIsEmptyElementれてtrueいる場合でも、はを返します。If default content has been added to an element due to schema validation, IsEmptyElement still returns true. 要素に既定値があるかどうかには影響しません。It has no bearing on whether or not the element has a default value. つまり、は、 IsEmptyElementソースドキュメント内の要素に終了要素タグがあるかどうかを報告するだけです。In other words, IsEmptyElement simply reports whether or not the element in the source document had an end element tag.