XmlReader.MoveToContent XmlReader.MoveToContent XmlReader.MoveToContent XmlReader.MoveToContent Method

定義

現在のノードがコンテンツ (空白でないテキスト、CDATAElementEndElementEntityReference、または EndEntity) ノードかどうかを確認します。Checks whether the current node is a content (non-white space text, CDATA, Element, EndElement, EntityReference, or EndEntity) node. ノードがコンテンツ ノードでない場合、リーダーは、次のコンテンツ ノードまたはファイルの末尾までスキップします。If the node is not a content node, the reader skips ahead to the next content node or end of file. リーダーは、ProcessingInstructionDocumentTypeCommentWhitespace、または SignificantWhitespace の型のノードをスキップします。It skips over nodes of the following type: ProcessingInstruction, DocumentType, Comment, Whitespace, or SignificantWhitespace.

public:
 virtual System::Xml::XmlNodeType MoveToContent();
public virtual System.Xml.XmlNodeType MoveToContent ();
abstract member MoveToContent : unit -> System.Xml.XmlNodeType
override this.MoveToContent : unit -> System.Xml.XmlNodeType
Public Overridable Function MoveToContent () As XmlNodeType

戻り値

メソッドが見つけた現在のノードの NodeType。リーダーが入力ストリームの末尾に到達した場合は XmlNodeType.NoneThe NodeType of the current node found by the method or XmlNodeType.None if the reader has reached the end of the input stream.

例外

入力ストリームで、正しくない XML が検出されました。Incorrect XML encountered in the input stream.

先行の非同期操作が完了する前に、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."

これは、中断なしのランダムな XML マークアップをスキップできるコードを記述する場合に便利です。This is useful when you want to write code that can skip over random XML markup without breaking. たとえば、次のコードがあるとします。For example, suppose you have the following code:

if ( reader->MoveToContent() == XmlNodeType::Element &&
   reader->Name->Equals( "price" ) )
{
   _price = reader->ReadString();
}
if (reader.MoveToContent() == XmlNodeType.Element && reader.Name == "price") 
 {
    _price = reader.ReadString();
 }
If reader.MoveToContent() = XmlNodeType.Element And reader.Name = "price" Then
    _price = reader.ReadString()
End If

このコードは、互換性に影響することがなく、次の入力を処理できます。This code can handle the following inputs without breaking:

<price>123.4</price>  

andand

<?xml version="1.0"><!DOCTYPE price SYSTEM  
  "abc"><price>123.4</price>  

と、呼び出しand

<?xml version="1.0"><!DOCTYPE price SYSTEM "abc"  
  [<!ENTITY p  
  "123.4">]><price>&p;</price>  

と、呼び出しand

<!-- some test comment --><?processing  
  instruction?><price>123.4</price>  

注釈

現在のノードが属性ノードの場合は、このメソッドのリーダーに戻ります属性を所有する要素。If the current node is an attribute node, this method moves the reader back to the element that owns the attribute.

このメソッドの非同期バージョンを参照してください。MoveToContentAsyncします。For the asynchronous version of this method, see MoveToContentAsync.

適用対象