Sdílet prostřednictvím


Načítání dat XML pomocí XPathDocument a XmlDocument

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 jen XPathDocument pro čtení a druhý je čtení dokumentu XML pomocí upravitelné XmlDocument třídy v System.Xml oboru názvů.

Č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. XPathDocument Instance třídy se vytvářejí pomocí jednoho ze šesti 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 implementuje W3C Document Object Model (DOM) level 1 Core a Core DOM Level 2. XmlDocument Instance třídy se vytvářejí pomocí jednoho ze 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 XmlReader třídy, poskytuje informace o kódování pomocí své Encoding vlastnosti a lze ji použít k vytvoření objektu nebo XmlDocument objektuXPathDocument.

Další informace o kódování informací poskytovaných XmlTextReader třídou naleznete Encoding v vlastnosti v XmlTextReader referenční dokumentaci třídy.

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.

XPathDocumentXmlDocument Kromě třídy implementují IXPathNavigable rozhraní XmlNodeSystem.Xml.XPath oboru názvů i třídy. 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 dat XPathNavigator XML lze třídu použít k úpravě dokumentu XML v některých případech na základě objektu, který ho vytvořil.

Třída XPathDocument je jen pro čtení, XmlDocument zatímco třída je upravitelná a v důsledku toho XPathNavigator nelze objekty vytvořené z XPathDocument objektu použít k úpravě dokumentu XML, zatímco objekty vytvořené z objektu XmlDocument 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 Provádění CanEdit Hodnotu
XPathDocument false
XmlDocument true

Viz také