Assembly: System.Xml (in system.xml.dll)
Public Overridable Function ReadSubtree As XmlReader
Dim instance As XmlReader Dim returnValue As XmlReader returnValue = instance.ReadSubtree
public virtual XmlReader ReadSubtree ()
public: virtual XmlReader^ ReadSubtree ()
public XmlReader ReadSubtree ()
public function ReadSubtree () : XmlReader
Valore restituito
Una nuova istanza di XmlReader impostata su ReadState.Initial. Una chiamata al metodo Read posiziona il nuovo XmlReader in corrispondenza del nodo che era il nodo corrente prima della chiamata al metodo ReadSubtree.| Tipo di eccezione | Condizione |
|---|---|
| Quando viene chiamato questo metodo, XmlReader non viene posizionato in corrispondenza di un elemento. |
ReadSubtree può essere chiamato solo in corrispondenza di nodi elemento. Al termine della lettura dell'intera sottostruttura, le chiamate al metodo Read restituiscono false. Una volta chiuso il nuovo metodo XmlReader, il metodo XmlReader originale viene posizionato sul nodo EndElement della sottostruttura. In questo modo, se viene chiamato il metodo ReadSubtree sul tag iniziale dell'elemento libro, una volta letta la sottostruttura e una volta chiuso il nuovo XmlReader, il visualizzatore XmlReader originale viene posizionato sul tag finale dell'elemento libro.
È consigliabile non eseguire alcuna operazione nel XmlReader iniziale fino a quando il nuovo XmlReader non è stato chiuso. Questa azione non è supportata e può produrre comportamenti inattesi.
Nota |
|---|
| Il metodo ReadSubtree non è destinato alla creazione di una copia dei dati XML che è possibile utilizzare in modo indipendente. Può invece essere utilizzato per creare un limite per un elemento XML. Questa funzionalità è utile per passare dati a un altro componente per l'elaborazione e limitare la quantità di dati a cui il componente può accedere. Quando si passa un oggetto XmlReader restituito dal metodo ReadSubtree a un'altra applicazione, l'applicazione può accedere solo all'elemento XML e non all'intero documento XML. |
Nell'esempio riportato di seguito viene illustrato come utilizzare il metodo ReadSubtree.
Dim settings As New XmlReaderSettings() settings.IgnoreWhitespace = True Using reader As XmlReader = XmlReader.Create("books.xml", settings) ' Position the reader on the second book node. reader.ReadToFollowing("book") reader.Skip() ' Create another reader that contains just the second book node. Dim inner As XmlReader = reader.ReadSubtree() ' Do additional processing on the inner reader. After you ' are done, you can call Close on the inner reader and ' continue processing using the original reader. End Using
XmlReaderSettings settings = new XmlReaderSettings(); settings.IgnoreWhitespace = true; using (XmlReader reader = XmlReader.Create("books.xml", settings)) { // Position the reader on the second book node reader.ReadToFollowing("book"); reader.Skip(); // Create another reader that contains just the second book node. XmlReader inner = reader.ReadSubtree(); // Do additional processing on the inner reader. After you // are done, you can call Close on the inner reader and // continue processing using the original reader. }
Windows 98, Windows 2000 SP4, Windows CE, Windows Millennium Edition, Windows Mobile per Pocket PC, Windows Mobile per Smartphone, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition
.NET Framework non supporta tutte le versioni di ciascuna piattaforma. Per un elenco delle versioni supportate, vedere Requisiti di sistema.
.NET Framework
Supportato in: 2.0.NET Compact Framework
Supportato in: 2.0Riferimenti
Classe XmlReaderMembri XmlReader
Spazio dei nomi System.Xml
Nota