Procedura: caricare XML da un file, da una stringa o da un flusso (Visual Basic)
È possibile creare valori letterali XML e popolarli con il contenuto di un'origine esterna, ad esempio un file, una stringa o un flusso, usando diversi metodi. Questi metodi sono illustrati negli esempi seguenti.
Nota
I nomi o i percorsi visualizzati per alcuni elementi dell'interfaccia utente di Visual Studio nelle istruzioni seguenti potrebbero essere diversi nel computer in uso. La versione di Visual Studio in uso e le impostazioni configurate determinano questi elementi. Per altre informazioni, vedere Personalizzazione dell'IDE.
Per caricare XML da un file
Per popolare un valore letterale XML, ad esempio un oggetto XElement o XDocument da un file, usare il metodo Load
. Questo metodo può accettare un percorso di file, un flusso di testo o un flusso XML come input.
Nell'esempio di codice seguente viene illustrato l'uso del metodo Load(String) per popolare un oggetto XDocument con XML da un file di testo.
Dim books =
XDocument.Load(My.Application.Info.DirectoryPath &
"\..\..\Data\books.xml")
Console.WriteLine(books)
Per caricare il codice XML da una stringa
Per popolare un valore letterale XML, ad esempio un oggetto XElement o XDocument da una stringa, è possibile usare il metodo Parse
.
Nell'esempio di codice seguente viene illustrato l'uso del metodo XDocument.Parse(String) per popolare un oggetto XDocument con XML da una stringa.
Dim xmlString = "<Book id=""bk102"">" & vbCrLf &
" <Author>Garcia, Debra</Author>" & vbCrLf &
" <Title>Writing Code</Title>" & vbCrLf &
" <Price>5.95</Price>" & vbCrLf &
"</Book>"
Dim xmlElem = XElement.Parse(xmlString)
Console.WriteLine(xmlElem)
Per caricare XML da un flusso
Per popolare un valore letterale XML, ad esempio un oggetto XElement o XDocument da un flusso, è possibile usare il metodo Load
o il metodo XNode.ReadFrom.
Nell'esempio di codice seguente viene illustrato l'uso del metodo ReadFrom per popolare un oggetto XDocument con XML da un flusso XML.
Dim reader =
System.Xml.XmlReader.Create(My.Application.Info.DirectoryPath &
"\..\..\Data\books.xml")
reader.MoveToContent()
Dim inputXml = XDocument.ReadFrom(reader)
Console.WriteLine(inputXml)