XmlReaderSettings Třída
Definice
Důležité
Některé informace platí pro předběžně vydaný produkt, který se může zásadně změnit, než ho výrobce nebo autor vydá. Microsoft neposkytuje žádné záruky, výslovné ani předpokládané, týkající se zde uváděných informací.
public ref class XmlReaderSettings sealed
public sealed class XmlReaderSettings
type XmlReaderSettings = class
Public NotInheritable Class XmlReaderSettings
- Dědičnost
-
XmlReaderSettings
Příklady
Následující příklad vytvoří, XmlReader který používá XmlUrlResolver s potřebnými přihlašovacími údaji.
// Create an XmlUrlResolver with the credentials necessary to access the Web server.
var resolver = new XmlUrlResolver();
var myCred = new NetworkCredential(UserName, SecurelyStoredPassword, Domain);
resolver.Credentials = myCred;
var settings = new XmlReaderSettings();
settings.XmlResolver = resolver;
// Create the reader.
XmlReader reader = XmlReader.Create("http://serverName/data/books.xml", settings);
' Create an XmlUrlResolver with the credentials necessary to access the Web server.
Dim resolver As New XmlUrlResolver()
Dim myCred As System.Net.NetworkCredential
myCred = New System.Net.NetworkCredential(UserName, SecurelyStoredPassword, Domain)
resolver.Credentials = myCred
Dim settings As New XmlReaderSettings()
settings.XmlResolver = resolver
' Create the reader.
Dim reader As XmlReader = XmlReader.Create("http://serverName/data/books.xml", settings)
Poznámky
Tuto metodu Create použijete k získání instance XmlReader. Tato metoda používá XmlReaderSettings třídu k určení funkcí, které se mají implementovat v objektu XmlReader , který vytvoří.
Informace o tom, která nastavení se mají použít pro kontroly shody, ověřování a další běžné scénáře, najdete v částech XmlReader Poznámky a Create referenční stránky. Seznam výchozích nastavení najdete v XmlReaderSettings() konstruktoru.
Bezpečnostní aspekty
Při použití XmlReaderSettings třídy zvažte následující skutečnosti.
Příznaky ProcessInlineSchema a ProcessSchemaLocation objektu XmlReaderSettings nejsou ve výchozím nastavení nastaveny. Když jsou tyto příznaky nastaveny, XmlResolver objektu XmlReaderSettings je použit k určení umístění schémat nalezených v dokumentu instance v XmlReader. XmlResolver Pokud je objekt
null, umístění schématu nejsou vyřešena, i když jsou příznaky ověřování ProcessInlineSchema a ProcessSchemaLocation nastaveny.Schémata přidaná během ověřování přidávají nové typy a můžou změnit výsledek ověření ověřovaného dokumentu. V důsledku toho by externí schémata měla být vyřešena pouze z důvěryhodných zdrojů.
Chybové zprávy ověřování můžou zveřejnit citlivé informace o modelu obsahu. Chyby ověření a varovné zprávy se zpracovávají pomocí delegáta ValidationEventHandler, nebo jsou zveřejněny jako XmlSchemaValidationException v případě, že pro objekt XmlReaderSettings není poskytována žádná obslužná rutina události (varování při ověřování nezpůsobují vyvolání XmlSchemaValidationException). Tyto informace o modelu obsahu by neměly být zpřístupněny v nedůvěryhodných scénářích. Zprávy upozornění na ověření jsou ve výchozím nastavení potlačeny a lze je hlásit nastavením příznaku ReportValidationWarnings .
Vlastnost SourceUri objektu XmlSchemaValidationException vrací cestu URI k souboru schématu, který způsobil výjimku. Vlastnost SourceUri by neměla být vystavena v nedůvěryhodných scénářích.
Zakázání příznaku ProcessIdentityConstraints (ve výchozím nastavení povoleno) se doporučuje při ověřování nedůvěryhodných a velkých dokumentů XML ve scénářích s vysokou dostupností oproti schématu s identitními omezeními nad velkou částí dokumentu.
XmlReaderSettings objekty mohou obsahovat citlivé informace, jako jsou přihlašovací údaje uživatele. Při ukládání objektů do mezipaměti XmlReaderSettings nebo při předávání objektu XmlReaderSettings z jedné komponenty do jiné byste měli být opatrní.
Zpracování DTD je ve výchozím nastavení zakázané. Pokud povolíte zpracování DTD, musíte mít na paměti zahrnutí DTD z nedůvěryhodných zdrojů a možných útoků na dostupnost služby. Slouží ThrowingResolver k omezení prostředků, ke kterým XmlReader má přístup.
Nepřijímejte podpůrné komponenty, jako jsou objekty NameTable, XmlNamespaceManager a XmlResolver z nedůvěryhodného zdroje.
Využití paměti aplikace, která používá XmlReader , může mít korelaci s velikostí analyzovaného dokumentu XML. Jednou z forem útoku na dostupnost služby je odeslání příliš velkých dokumentů XML, které se mají analyzovat. Pomocí nastavení vlastnosti MaxCharactersInDocument můžete omezit velikost dokumentu, který lze analyzovat, a pomocí nastavení vlastnosti MaxCharactersFromEntities poté omezit počet znaků, které vzniknou rozšířením entit.
Konstruktory
| Name | Description |
|---|---|
| XmlReaderSettings() |
Inicializuje novou instanci XmlReaderSettings třídy. |
| XmlReaderSettings(XmlResolver) |
Zastaralé.
Inicializuje novou instanci XmlReaderSettings třídy. |
Vlastnosti
| Name | Description |
|---|---|
| Async |
Získá nebo nastaví, zda asynchronní XmlReader metody lze použít v konkrétní XmlReader instanci. |
| CheckCharacters |
Získá nebo nastaví hodnotu označující, zda provést kontrolu znaků. |
| CloseInput |
Získá nebo nastaví hodnotu určující, zda podkladový datový proud nebo TextReader má být uzavřen při zavření čtečky. |
| ConformanceLevel |
Získá nebo nastaví úroveň shody, se kterou XmlReader bude dodržovat. |
| DtdProcessing |
Získá nebo nastaví hodnotu, která určuje zpracování DTD. |
| IgnoreComments |
Získá nebo nastaví hodnotu označující, zda se mají ignorovat komentáře. |
| IgnoreProcessingInstructions |
Získá nebo nastaví hodnotu určující, zda má ignorovat pokyny ke zpracování. |
| IgnoreWhitespace |
Získá nebo nastaví hodnotu označující, zda má ignorovat nevýznamné prázdné znaky. |
| LineNumberOffset |
Získá nebo nastaví odsazení čísla řádku objektu XmlReader . |
| LinePositionOffset |
Získá nebo nastaví posun pozice čáry objektu XmlReader . |
| MaxCharactersFromEntities |
Získá nebo nastaví hodnotu označující maximální povolený počet znaků v dokumentu, který je výsledkem rozbalení entit. |
| MaxCharactersInDocument |
Získá nebo nastaví hodnotu označující maximální povolený počet znaků v dokumentu XML. Nulová hodnota (0) znamená žádné omezení velikosti dokumentu XML. Nenulová hodnota určuje maximální velikost znaků. |
| NameTable |
Získá nebo nastaví XmlNameTable použité pro porovnání atomizovaných řetězců. |
| ProhibitDtd |
Zastaralé.
Zastaralé.
Získá nebo nastaví hodnotu určující, zda zakázat zpracování definice typu dokumentu (DTD). Tato vlastnost je zastaralá. Místo toho použijte DtdProcessing. |
| Schemas |
Získá nebo nastaví XmlSchemaSet použití při ověřování schématu. |
| ValidationFlags |
Získá nebo nastaví hodnotu označující nastavení ověření schématu. Toto nastavení platí pro XmlReader objekty, které ověřují schémata (ValidationType vlastnost nastavená na |
| ValidationType |
Získá nebo nastaví hodnotu určující, zda XmlReader bude provádět ověření nebo přiřazení typu při čtení. |
| XmlResolver |
XmlResolver Nastaví použitou pro přístup k externím dokumentům. |
Metody
| Name | Description |
|---|---|
| Clone() |
Vytvoří kopii XmlReaderSettings instance. |
| Equals(Object) |
Určuje, zda je zadaný objekt roven aktuálnímu objektu. (Zděděno od Object) |
| GetHashCode() |
Slouží jako výchozí funkce hash. (Zděděno od Object) |
| GetType() |
Získá Type aktuální instance. (Zděděno od Object) |
| MemberwiseClone() |
Vytvoří mělkou kopii aktuálního Object. (Zděděno od Object) |
| Reset() |
Obnoví členy třídy nastavení na výchozí hodnoty. |
| ToString() |
Vrátí řetězec, který představuje aktuální objekt. (Zděděno od Object) |
Událost
| Name | Description |
|---|---|
| ValidationEventHandler |
Nastane, když čtenář narazí na chyby ověření. |