Delen via


Gegevens laden vanuit een lezer

Als een XML-document wordt geladen met behulp van de Load methode en een parameter van een XmlReader, zijn er verschillen in het gedrag dat optreedt in vergelijking met het gedrag van het laden van gegevens uit de andere indelingen. Als de lezer de oorspronkelijke status heeft, Load verbruikt u de volledige inhoud van de lezer en bouwt u het XML Document Object Model (DOM) van alle gegevens in de lezer.

Als de lezer al op een knooppunt in het document is geplaatst en de lezer vervolgens wordt doorgegeven aan de Load methode, Load probeert het huidige knooppunt en alle bijbehorende knooppunten te lezen, tot aan de eindtag die de huidige diepte in het geheugen sluit. Het succes van de poging Load is afhankelijk van het knooppunt waarop de lezer zich bevindt wanneer de belasting wordt uitgevoerd, omdat Load wordt gecontroleerd of de XML van de lezer goed is gevormd. Als de XML niet goed is opgemaakt, wordt er Load een uitzondering gegenereerd. De volgende set knooppunten bevat bijvoorbeeld twee elementen op hoofdniveau, de XML is niet goed opgemaakt en Load genereert een uitzondering.

  • Opmerkingknooppunt, gevolgd door een elementknooppunt, gevolgd door een elementknooppunt, gevolgd door een EndElement-knooppunt.

Met de volgende set knooppunten wordt een onvolledig DOM gemaakt, omdat er geen element op hoofdniveau is.

  • Opmerkingknooppunt gevolgd door een ProcessingInstruction-knooppunt gevolgd door een opmerkingknooppunt gevolgd door een EndElement-knooppunt.

Dit genereert geen uitzondering en de gegevens worden geladen. U kunt een hoofdelement toevoegen aan de bovenkant van deze knooppunten en een goed opgemaakte XML maken die zonder fouten kan worden opgeslagen.

Als de lezer is geplaatst op een bladknooppunt dat ongeldig is voor het hoofdniveau van een document (bijvoorbeeld een witruimte of kenmerkknooppunt), blijft de lezer lezen totdat deze is geplaatst op een knooppunt dat kan worden gebruikt voor de hoofdmap. Het document wordt nu geladen.

Load Standaard wordt niet gecontroleerd of de XML geldig is met de definitie van documenttypen (DTD) of schemavalidatie. Hiermee wordt alleen gecontroleerd of de XML goed is opgemaakt. Als u wilt dat de validatie plaatsvindt, moet u een XmlReader met de XmlReaderSettings klasse maken. De XmlReader klasse kan validatie afdwingen met behulp van een XSD-schema (DTD of Schema Definition Language). De ValidationType eigenschap in de XmlReaderSettings klasse bepaalt of de XmlReader instantie validatie afdwingt. Zie de sectie Opmerkingen van de XmlReader referentiepagina voor meer informatie over het valideren van XML-gegevens.

Zie ook