Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
Esistono due modi per leggere un documento XML nello spazio dei System.Xml.XPathnomi. Uno consiste nel leggere un documento XML usando la classe XPathDocument di sola lettura e l'altro consiste nel leggere un documento XML usando la classe XmlDocument modificabile nello spazio dei nomi System.Xml.
Lettura di documenti XML tramite la classe XPathDocument
La XPathDocument classe fornisce una rappresentazione veloce, di sola lettura e in memoria di un documento XML usando il modello di dati XPath. Le istanze della XPathDocument classe vengono create usando uno dei sei costruttori. Questi costruttori consentono di leggere un documento XML usando un Streamoggetto , TextReadero XmlReader e il string percorso di un file XML.
Nell'esempio seguente viene illustrato l'utilizzo del XPathDocument costruttore della string classe per leggere un documento XML.
Dim document As XPathDocument = New XPathDocument("books.xml")
XPathDocument document = new XPathDocument("books.xml");
Lettura di documenti XML tramite la classe XmlDocument
La XmlDocument classe è una rappresentazione in memoria modificabile di un documento XML che implementa DOM (Document Object Model) W3C Level 1 Core e Core DOM Level 2. Le istanze della XmlDocument classe vengono create usando uno dei tre costruttori. È possibile creare un nuovo oggetto vuoto XmlDocument chiamando il costruttore della XmlDocument classe senza parametri. Dopo aver chiamato il costruttore, utilizzare il metodo Load per caricare i dati XML nel nuovo oggetto XmlDocument da un oggetto Stream, TextReader o XmlReader, così come il percorso string di un file XML.
Nell'esempio seguente viene illustrato l'utilizzo del costruttore della XmlDocument classe senza parametri e del Load metodo per leggere un documento XML.
Dim document As XmlDocument = New XmlDocument()
document.Load("books.xml")
XmlDocument document = new XmlDocument();
document.Load("books.xml");
Determinazione della codifica di un documento XML
Un XmlReader oggetto può essere utilizzato per leggere un documento XML e per creare XPathDocument oggetti e XmlDocument come illustrato nelle sezioni precedenti. Tuttavia, un XmlReader oggetto può leggere i dati non codificati e di conseguenza non fornisce alcuna informazione di codifica.
La XmlTextReader classe eredita dalla XmlReader classe, fornisce informazioni di codifica usando la relativa Encoding proprietà e può essere utilizzata per creare un oggetto XPathDocument o XmlDocument.
Per altre informazioni sulla codifica fornite dalla XmlTextReader classe , vedere la Encoding proprietà nella documentazione di riferimento della XmlTextReader classe.
Creazione di oggetti XPathNavigator
Dopo aver letto un documento XML in un oggetto XPathDocument o XmlDocument, è possibile creare un oggetto XPathNavigator per selezionare, valutare, esplorare e, in alcuni casi, modificare i dati XML sottostanti.
Sia le classi XPathDocument e XmlDocument , sia la classe XmlNode , implementano l'interfaccia IXPathNavigable dello spazio dei nomi System.Xml.XPath. Di conseguenza, tutte e tre le classi forniscono un CreateNavigator metodo che restituisce un XPathNavigator oggetto .
Modifica di documenti XML tramite la classe XPathNavigator
Oltre a selezionare, valutare ed esplorare i dati XML, la XPathNavigator classe può essere usata per modificare un documento XML in alcuni casi, in base all'oggetto che lo ha creato.
La XPathDocument classe è di sola lettura mentre la XmlDocument classe è modificabile e, di conseguenza, XPathNavigator gli oggetti creati da un XPathDocument oggetto non possono essere utilizzati per modificare un documento XML mentre quelli creati da un XmlDocument oggetto possono. La XPathDocument classe deve essere utilizzata solo per leggere un documento XML. Nei casi in cui è necessario modificare un documento XML o richiedere l'accesso alle funzionalità aggiuntive fornite dalla classe, ad esempio la XmlDocument gestione degli eventi, è necessario usare la XmlDocument classe .
La CanEdit proprietà della XPathNavigator classe specifica se un XPathNavigator oggetto può modificare i dati XML.
Nella tabella seguente viene descritto il valore della CanEdit proprietà per ogni classe.
| IXPathNavigable Implementazione | valore CanEdit |
|---|---|
| XPathDocument | false |
| XmlDocument | true |