XmlReader.MoveToContent メソッド
現在のノードがコンテンツ (空白でないテキスト、 CDATA 、Element, EndElement 、 EntityReference 、または EndEntity) ノードかどうかを確認します。ノードがコンテンツ ノードでない場合、リーダーは、次のコンテンツ ノードまたはファイルの末尾までスキップします。リーダーは、 ProcessingInstruction 、 DocumentType 、Comment、Whitespace、または SignificantWhitespace の型のノードをスキップします。
Public Overridable Function MoveToContent() As XmlNodeType
[C#]
public virtual XmlNodeType MoveToContent();
[C++]
public: virtual XmlNodeType MoveToContent();
[JScript]
public function MoveToContent() : XmlNodeType;
戻り値
メソッドが見つけた現在のノードの NodeType 。リーダーが入力ストリームの末尾に到達した場合は XmlNodeType.None 。
例外
例外の種類 | 条件 |
---|---|
XmlException | 入力ストリームで検出された正しくない XML。 |
解説
現在のノードが属性ノードの場合、このメソッドは、その属性を所有する要素にリーダーを戻します。
使用例
[Visual Basic, C#, C++] これは、中断せずにランダム XML マークアップをスキップできるコードを書き込むときに役立ちます。たとえば、次のようなコードがあるとします。
If reader.MoveToContent() = XmlNodeType.Element And reader.Name = "price" Then
_price = reader.ReadString()
End If
[C#]
if (reader.MoveToContent() == XmlNodeType.Element && reader.Name == "price")
{
_price = reader.ReadString();
}
[C++]
if (reader->MoveToContent() == XmlNodeType::Element && reader->Name->Equals(S"price"))
{
_price = reader->ReadString();
}
[Visual Basic, C#, C++] このコードは、次の入力を中断せずに処理できます。
[Visual Basic, C#, C++] <price>123.4</price>
[Visual Basic, C#, C++] および
[Visual Basic, C#, C++] <?xml version="1.0"><!DOCTYPE price SYSTEM "abc"><price>123.4</price>
[Visual Basic, C#, C++] および
[Visual Basic, C#, C++] <?xml version="1.0"><!DOCTYPE price SYSTEM "abc" [<!ENTTIY p "123.4">]><price>&p;</price>
[Visual Basic, C#, C++] および
[Visual Basic, C#, C++] <!-- some test comment --><?processing instruction?><price>123.4</price>
[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