Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
Dokument XML v System.Xml.XPath oboru názvů lze číst dvěma způsoby. Jedním z nich je čtení dokumentu XML pomocí třídy XPathDocument pro čtení a druhým je čtení dokumentu XML pomocí upravitelné třídy XmlDocument v oboru názvů System.Xml.
Čtení dokumentů XML pomocí třídy XPathDocument
Třída XPathDocument poskytuje rychlou reprezentaci dokumentu XML v paměti jen pro čtení pomocí datového modelu XPath. Instance třídy XPathDocument se vytvářejí pomocí jednoho ze šesti jeho konstruktorů. Tyto konstruktory umožňují číst dokument XML pomocí Stream, TextReadernebo XmlReader objektu, stejně jako string cestu k souboru XML.
Následující příklad ukazuje použití XPathDocument konstruktoru string třídy ke čtení dokumentu XML.
Dim document As XPathDocument = New XPathDocument("books.xml")
XPathDocument document = new XPathDocument("books.xml");
Čtení dokumentů XML pomocí třídy XmlDocument
Třída XmlDocument je upravitelná reprezentace dokumentu XML, která implementuje W3C Document Object Model (DOM) úroveň 1 Core a Core DOM úroveň 2. Instancí třídy XmlDocument se vytvářejí pomocí jednoho z jejích tří konstruktorů. Nový prázdný XmlDocument objekt můžete vytvořit voláním konstruktoru XmlDocument třídy bez parametrů. Po volání konstruktoru použijte metodu Load k načtení dat XML do nového XmlDocument objektu z objektu Stream, TextReadernebo XmlReader objektu, stejně jako string cesta k souboru XML.
Následující příklad znázorňuje použití konstruktoru XmlDocument třídy bez parametrů a Load metody ke čtení dokumentu XML.
Dim document As XmlDocument = New XmlDocument()
document.Load("books.xml")
XmlDocument document = new XmlDocument();
document.Load("books.xml");
Určení kódování dokumentu XML
Objekt XmlReader lze použít ke čtení dokumentu XML a k vytváření XPathDocument a XmlDocument objektů, jak je znázorněno v předchozích částech. XmlReader Objekt však může číst data, která nejsou zakódována a v důsledku toho neposkytuje žádné informace o kódování.
Třída XmlTextReader dědí z třídy XmlReader, poskytuje informace o kódování pomocí své vlastnosti Encoding a lze ji použít k vytvoření objektu XPathDocument nebo objektu XmlDocument.
Další informace o kódování informací poskytovaných třídou XmlTextReader naleznete ve vlastnosti Encoding v referenční dokumentaci třídy XmlTextReader.
Vytváření objektů XPathNavigator
Po přečtení dokumentu XML do objektu XPathDocument nebo objektu XmlDocument můžete vytvořit XPathNavigator objekt pro výběr, vyhodnocení, navigaci a v některých případech úpravu podkladových dat XML.
Třídy XPathDocument a XmlDocument spolu s třídou XmlNode implementují rozhraní IXPathNavigable v oboru názvů System.Xml.XPath. V důsledku toho všechny tři třídy poskytují metodu CreateNavigatorXPathNavigator , která vrací objekt.
Úpravy dokumentů XML pomocí třídy XPathNavigator
Kromě výběru, vyhodnocení a navigace XML dat může být třída XPathNavigator v některých případech použita také k úpravě dokumentu XML, a to na základě objektu, který dokument vytvořil.
Třída XPathDocument je jen pro čtení, zatímco třída XmlDocument je upravitelná, a v důsledku toho nelze objekty vytvořené z objektu XPathNavigator použít k úpravě dokumentu XML, zatímco objekty vytvořené z objektu XPathDocument mohou. Třída XPathDocument by měla být použita pouze ke čtení dokumentu XML. V případech, kdy potřebujete upravit dokument XML nebo vyžadovat přístup k dalším funkcím poskytovaným XmlDocument třídou, jako je zpracování událostí, XmlDocument by se měla třída použít.
Vlastnost CanEditXPathNavigator třídy určuje, zda XPathNavigator objekt může upravovat data XML.
Následující tabulka popisuje hodnotu CanEdit vlastnosti pro každou třídu.
| IXPathNavigable Implementace | hodnota CanEdit |
|---|---|
| XPathDocument | false |
| XmlDocument | true |