XmlReader.MoveToContent Yöntem

Tanım

Geçerli düğümün bir içerik (boşluk olmayan metin, CDATA, , Element, EndElementEntityReferenceveya EndEntity) düğümü olup olmadığını denetler. Düğüm bir içerik düğümü değilse okuyucu sonraki içerik düğümüne veya dosyanın sonuna atlar. Şu türdeki düğümler üzerinden atlar: ProcessingInstruction, DocumentType, Comment, Whitespaceveya 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

Döndürülenler

XmlNodeType

NodeType yöntemi tarafından bulunan geçerli düğümün veya XmlNodeType.None okuyucunun giriş akışının sonuna ulaşmış olması.

Özel durumlar

Giriş akışında yanlış XML ile karşılaşıldı.

Önceki XmlReader bir zaman uyumsuz işlem tamamlanmadan önce bir yöntem çağrıldı. Bu durumda, InvalidOperationException "Zaman uyumsuz bir işlem zaten devam ediyor" iletisiyle oluşturulur.

Örnekler

Hataya neden olmadan rastgele XML işaretlemesini atlayan kod yazmak istediğinizde bu yararlı olur. Örneğin, aşağıdaki koda sahip olduğunuzu varsayalım:

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

Bu kod, aşağıdaki girişleri kesmeden işleyebilir:

<price>123.4</price>

ve

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

ve

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

ve

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

Açıklamalar

Geçerli düğüm bir öznitelik düğümüyse, bu yöntem okuyucuyu özniteliğin sahibi olan öğeye geri taşır.

Bu yöntemin zaman uyumsuz sürümü için bkz MoveToContentAsync. .

Şunlara uygulanır