XmlReader.IsStartElement メソッド ()
MoveToContent を呼び出し、現在のコンテンツ ノードが開始タグまたは空の要素タグかどうかをテストします。
Overloads Public Overridable Function IsStartElement() As Boolean
[C#]
public virtual bool IsStartElement();
[C++]
public: virtual bool IsStartElement();
[JScript]
public function IsStartElement() : Boolean;
戻り値
MoveToContent が開始タグまたは空の要素タグを見つけた場合は true 。 XmlNodeType.Element 以外のノード型が見つかった場合は false 。
例外
例外の種類 | 条件 |
---|---|
XmlException | 入力ストリームで、正しくない XML が検出されました。 |
解説
このメソッドは、リーダーがコンテンツ ノードに配置されるまで、空白、コメント、および処理命令をスキップします。その後、現在のノードが要素かどうかをテストします。
使用例
[Visual Basic, C#, C++] 各要素のテキストの内容を表示する例を次に示します。
Option Strict
Option Explicit
Imports System
Imports System.IO
Imports System.Xml
Public Class Sample
Public Shared Sub Main()
Dim reader As XmlTextReader = Nothing
Try
'Load the reader with the XML file.
reader = New XmlTextReader("elems.xml")
'Parse the XML and display the text content of each of the elements.
While reader.Read()
If reader.IsStartElement() Then
If reader.IsEmptyElement Then
Console.WriteLine("<{0}/>", reader.Name)
Else
Console.Write("<{0}>" + " ", reader.Name)
reader.Read() 'Read the start tag.
If (reader.IsStartElement()) 'Handle nested elements.
Console.WriteLine()
Console.Write("<{0}>", reader.Name)
End If
Console.WriteLine(reader.ReadString()) 'Read the text content of the element.
End If
End If
End While
Finally
If Not (reader Is Nothing) Then
reader.Close()
End If
End Try
End Sub 'Main
End Class 'Sample
[C#]
using System;
using System.IO;
using System.Xml;
public class Sample
{
public static void Main()
{
XmlTextReader reader = null;
try
{
//Load the reader with the XML file.
reader = new XmlTextReader("elems.xml");
//Parse the XML and display the text content of each of the elements.
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.
}
}
}
}
finally
{
if (reader != null)
reader.Close();
}
}
} // End class
[C++]
#using <mscorlib.dll>
#using <System.Xml.dll>
using namespace System;
using namespace System::IO;
using namespace System::Xml;
int main()
{
XmlTextReader* reader = 0;
try
{
//Load the reader with the XML file.
reader = new XmlTextReader(S"elems.xml");
//Parse the XML and display the text content of each of the elements.
while (reader->Read()){
if (reader->IsStartElement()){
if (reader->IsEmptyElement)
Console::WriteLine(S"<{0}/>", reader->Name);
else{
Console::Write(S"<{0}> ", reader->Name);
reader->Read(); //Read the start tag.
if (reader->IsStartElement()) //Handle nested elements.
Console::Write(S"\r\n<{0}>", reader->Name);
Console::WriteLine(reader->ReadString()); //Read the text content of the element.
}
}
}
}
__finally
{
if (reader != 0)
reader->Close();
}
}
この例では、入力として、 elems.xml というファイルを使用しています。
<book>
<title>Pride And Prejudice</title>
<price>19.95</price>
<misc/>
</book>
[JScript] JScript のサンプルはありません。Visual Basic、C#、および C++ のサンプルを表示するには、このページの左上隅にある言語のフィルタ ボタン をクリックします。
必要条件
プラットフォーム: Windows 98, Windows NT 4.0, Windows Millennium Edition, Windows 2000, Windows XP Home Edition, Windows XP Professional, Windows Server 2003 ファミリ, .NET Compact Framework - Windows CE .NET, Common Language Infrastructure (CLI) Standard
参照
XmlReader クラス | XmlReader メンバ | System.Xml 名前空間 | XmlReader.IsStartElement オーバーロードの一覧 | MoveToContent