XmlValidatingReader.MoveToElement メソッド
現在の属性ノードを含む要素に移動します。
Overrides Public Function MoveToElement() As Boolean
[C#]
public override bool MoveToElement();
[C++]
public: bool MoveToElement();
[JScript]
public override function MoveToElement() : Boolean;
戻り値
リーダーが属性の位置に配置されている場合は true で、属性を所有している要素の位置へリーダーが移動します。リーダーが属性の位置に配置されていない場合は false で、リーダーの位置は変更されません。
解説
このメソッドを使用して、要素の複数の属性間を移動した後、その要素に戻ります。このメソッドは、リーダーを Element、 DocumentType 、 XmlDeclaration の各ノード型に移動します。
使用例
[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 XmlValidatingReader = Nothing
Try
'Create the string to parse.
Dim xmlFrag As String = "<book genre='novel' ISBN='1-861003-78' pubdate='1987'></book> "
'Create the XmlNamespaceManager.
Dim nt As New NameTable()
Dim nsmgr As New XmlNamespaceManager(nt)
'Create the XmlParserContext.
Dim context As New XmlParserContext(Nothing, nsmgr, Nothing, XmlSpace.None)
'Create the XmlValidatingReader .
reader = New XmlValidatingReader(xmlFrag, XmlNodeType.Element, context)
'Read the attributes on the root element.
reader.MoveToContent()
If reader.HasAttributes Then
Dim i As Integer
For i = 0 To reader.AttributeCount - 1
reader.MoveToAttribute(i)
Console.WriteLine("{0} = {1}", reader.Name, reader.Value)
Next i
'Move the reader back to the node that owns the attribute.
reader.MoveToElement()
End If
Finally
If Not (reader Is Nothing) Then
reader.Close()
End If
End Try
End Sub 'Main ' End class
[C#]
using System;
using System.IO;
using System.Xml;
public class Sample
{
public static void Main()
{
XmlValidatingReader reader = null;
try
{
//Create the string to parse.
string xmlFrag="<book genre='novel' ISBN='1-861003-78' pubdate='1987'></book> ";
//Create the XmlNamespaceManager.
NameTable nt = new NameTable();
XmlNamespaceManager nsmgr = new XmlNamespaceManager(nt);
//Create the XmlParserContext.
XmlParserContext context = new XmlParserContext(null, nsmgr, null, XmlSpace.None);
//Create the XmlValidatingReader .
reader = new XmlValidatingReader(xmlFrag, XmlNodeType.Element, context);
//Read the attributes on the root element.
reader.MoveToContent();
if (reader.HasAttributes){
for (int i=0; i<reader.AttributeCount; i++){
reader.MoveToAttribute(i);
Console.WriteLine("{0} = {1}", reader.Name, reader.Value);
}
//Move the reader back to the node that owns the attribute.
reader.MoveToElement();
}
}
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()
{
XmlValidatingReader* reader = 0;
try
{
//Create the string to parse.
String* xmlFrag=S"<book genre='novel' ISBN='1-861003-78' pubdate='1987'></book> ";
//Create the XmlNamespaceManager.
NameTable* nt = new NameTable();
XmlNamespaceManager* nsmgr = new XmlNamespaceManager(nt);
//Create the XmlParserContext.
XmlParserContext* context = new XmlParserContext(0, nsmgr, 0, XmlSpace::None);
//Create the XmlValidatingReader .
reader = new XmlValidatingReader(xmlFrag, XmlNodeType::Element, context);
//Read the attributes on the root element.
reader->MoveToContent();
if (reader->HasAttributes){
for (int i=0; i<reader->AttributeCount; i++){
reader->MoveToAttribute(i);
Console::WriteLine(S"{0} = {1}", reader->Name, reader->Value);
}
//Move the reader back to the node that owns the attribute.
reader->MoveToElement();
}
}
__finally
{
if (reader != 0)
reader->Close();
}
}
[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 ファミリ
参照
XmlValidatingReader クラス | XmlValidatingReader メンバ | System.Xml 名前空間