Questo articolo è stato tradotto automaticamente. Per visualizzare l'articolo in inglese, selezionare la casella di controllo Inglese. È possibile anche visualizzare il testo inglese in una finestra popup posizionando il puntatore del mouse sopra il testo.
Traduzione
Inglese

Costruttore XmlTextReader (String)

 

Data di pubblicazione: ottobre 2016

Inizializza una nuova istanza della classe XmlTextReader con il file specificato.

Spazio dei nomi:   System.Xml
Assembly:  System.Xml (in System.Xml.dll)

public XmlTextReader(
	string url
)

Parametri

url
Type: System.String

URL del file che contiene i dati XML. La proprietà BaseURI è impostata su questo valore.

Exception Condition
FileNotFoundException

Impossibile trovare il file specificato.

DirectoryNotFoundException

Impossibile trovare una parte del nome file o della directory.

InvalidOperationException

Il parametro url è una stringa vuota.

WebException

Nome del file remoto non può essere risolto.

-oppure-

Si è verificato un errore durante l'elaborazione della richiesta.

UriFormatException

url non è un URI valido.

System_CAPS_noteNota

A partire da .NET Framework 2.0, è consigliabile creare XmlReader istanze tramite il XmlReader.Create metodo per sfruttare i vantaggi delle nuove funzionalità.

Se il file si trova su una risorsa che richiede credenziali di accesso, utilizzare il XmlResolver proprietà per specificare le credenziali necessarie.

System_CAPS_noteNota

Nella versione 1.1 del .NET Framework, parzialmente attendibile a codice non può impostare il XmlResolver proprietà. La soluzione alternativa consiste nel creare un XmlUrlResolver con le credenziali necessarie, passare l'URI per il XmlUrlResolver.GetEntity metodo e quindi creare il XmlTextReader utilizzando risultante Stream oggetto. Questa soluzione è illustrata nel codice c# seguente.

// Create a resolver with the necessary credentials.
XmlUrlResolver resolver = new XmlUrlResolver();
NetworkCredential nc = new NetworkCredential(SecurelyStoredUserName, SecurelyStoredPassword, SecurelyStoredDomain);
resolver.Credentials = nc; 
// Get a Stream object containing the XML file.
Uri myUri = new Uri ("http://myServer/data/books.xml");
Stream s=(Stream)resolver.GetEntity(myUri, null, typeof(Stream));
// Construct a reader using the Stream object.
XmlTextReader reader = new XmlTextReader(s);

Nell'esempio seguente legge un file XML e vengono visualizzati tutti i nodi.

using System;
using System.IO;
using System.Xml;

public class Sample {

  private const String filename = "items.xml";

  public static void Main() {

     XmlTextReader reader = null;

     try {

        // Load the reader with the data file and ignore all white space nodes.         
        reader = new XmlTextReader(filename);
        reader.WhitespaceHandling = WhitespaceHandling.None;

        // Parse the file and display each of the nodes.
        while (reader.Read()) {
           switch (reader.NodeType) {
             case XmlNodeType.Element:
               Console.Write("<{0}>", reader.Name);
               break;
             case XmlNodeType.Text:
               Console.Write(reader.Value);
               break;
             case XmlNodeType.CDATA:
               Console.Write("<![CDATA[{0}]]>", reader.Value);
               break;
             case XmlNodeType.ProcessingInstruction:
               Console.Write("<?{0} {1}?>", reader.Name, reader.Value);
               break;
             case XmlNodeType.Comment:
               Console.Write("<!--{0}-->", reader.Value);
               break;
             case XmlNodeType.XmlDeclaration:
               Console.Write("<?xml version='1.0'?>");
               break;
             case XmlNodeType.Document:
               break;
             case XmlNodeType.DocumentType:
               Console.Write("<!DOCTYPE {0} [{1}]", reader.Name, reader.Value);
               break;
             case XmlNodeType.EntityReference:
               Console.Write(reader.Name);
               break;
             case XmlNodeType.EndElement:
               Console.Write("</{0}>", reader.Name);
               break;
           }       
        }           
     }

     finally {
        if (reader!=null)
          reader.Close();
     }
  }
} // End class

Nell'esempio viene utilizzato il file, items.xml, come input.


<?xml version="1.0"?>
<!-- This is a sample XML document -->
<!DOCTYPE Items [<!ENTITY number "123">]>
<Items>
  <Item>Test with an entity: &number;</Item>
  <Item>test with a child element <more/> stuff</Item>
  <Item>test with a CDATA section <![CDATA[<456>]]> def</Item>
  <Item>Test with an char entity: &#65;</Item>
  <!-- Fourteen chars in this element.-->
  <Item>1234567890ABCD</Item>
</Items>

.NET Framework
Disponibile da 1.1
Torna all'inizio
Mostra: