Sdílet prostřednictvím


Načtení dat z čtečky

Pokud je dokument XML načten pomocí Load metody a parametru XmlReader, existují rozdíly v chování, ke kterému dochází v porovnání s chováním načítání dat z jiných formátů. Pokud je čtečka v počátečním stavu, Load spotřebovává celý obsah čtenáře a sestaví objektový model DOKUMENTU XML (DOM) ze všech dat v čtenáři.

Pokud je čtečka již umístěna na uzlu někde v dokumentu a čtenář se pak předá Load metodě, Load pokusí se přečíst aktuální uzel a všechny jeho na stejné úrovni až do koncové značky, která zavře aktuální hloubku do paměti. Úspěch pokusu Load závisí na uzlu, na který je čtenář při pokusu o načtení spuštěn, protože Load ověřuje, že XML ze čtečky je správně vytvořený. Pokud xml není ve správném formátu, vyvolá Load výjimku. Například následující sada uzlů obsahuje dva elementy kořenové úrovně, XML není správně formátovaný a Load vyvolá výjimku.

  • Uzel komentáře následovaný uzlem Element, následovaný uzlem Element, následovaný uzlem EndElement.

Následující sada uzlů vytvoří neúplný objekt DOM, protože neexistuje žádný prvek kořenové úrovně.

  • Uzel komentáře následovaný uzlem ProcessingInstruction následovaným uzlem Komentář následovaným uzlem EndElement.

Tím se nevyvolá výjimka a data se načtou. Do horní části těchto uzlů můžete přidat kořenový prvek a vytvořit správně formátovaný KÓD XML, který lze uložit bez chyby.

Pokud je čtečka umístěna na uzlu typu list, který je neplatný pro kořenovou úroveň dokumentu (například prázdný znak nebo uzel atributu), bude čtečka dál číst, dokud nebude umístěna na uzlu, který lze použít pro kořen. Dokument se v tomto okamžiku začne načítat.

Ve výchozím nastavení neověřuje, Load zda je XML platný pomocí definice typu dokumentu (DTD) nebo ověření schématu. Ověřuje pouze, jestli je XML správně formátovaný. Aby mohlo dojít k ověření, musíte vytvořit pomocí XmlReaderXmlReaderSettings třídy. Třída XmlReader může vynutit ověření pomocí schématu DTD nebo jazyka definice schématu (XSD). Vlastnost ValidationType třídy XmlReaderSettings určuje, zda XmlReader instance vynucuje ověření. Další informace o ověřování dat XML naleznete v části Poznámky na XmlReader referenční stránce.

Viz také