XmlReader.MoveToContent Metódus

Definíció

Ellenőrzi, hogy az aktuális csomópont tartalom-e (nem üres szóközCDATA, , , Element, EndElementEntityReferencevagy EndEntity) csomópont. Ha a csomópont nem tartalomcsomópont, az olvasó a következő tartalomcsomópontra vagy a fájl végére ugrik. A következő típusú csomópontokat hagyja ki: ProcessingInstruction, DocumentType, Comment, Whitespacevagy 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

Válaszok

A NodeType metódus által talált aktuális csomópont, vagy XmlNodeType.None ha az olvasó elérte a bemeneti adatfolyam végét.

Kivételek

Helytelen XML-hiba történt a bemeneti adatfolyamban.

Egy XmlReader metódust hívtak meg, mielőtt egy korábbi aszinkron művelet befejeződött. Ebben az esetben InvalidOperationException a "Aszinkron művelet már folyamatban van" üzenet jelenik meg.

Példák

Ez akkor hasznos, ha olyan kódot szeretne írni, amely megszakítás nélkül átugorhatja a véletlenszerű XML-korrektúrát. Tegyük fel például, hogy a következő kóddal rendelkezik:

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

Ez a kód a következő bemeneteket képes feltörés nélkül kezelni:

<price>123.4</price>

és

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

és

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

és

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

Megjegyzések

Ha az aktuális csomópont egy attribútumcsomópont, ez a metódus visszaviszi az olvasót az attribútumot birtokba szálló elemhez.

A metódus aszinkron verziójáról lásd MoveToContentAsync: .

A következőre érvényes: