Dela via


Anvisningar: Läsa in XML från en fil, sträng eller dataström (Visual Basic)

Du kan skapa XML-literaler och fylla dem med innehållet från en extern källa, till exempel en fil, en sträng eller en ström med hjälp av flera metoder. Dessa metoder visas i följande exempel.

Kommentar

Datorn kan visa olika namn eller platser för vissa av Visual Studio-användargränssnittselementen i följande instruktioner. Den Visual Studio-utgåva som du har och de inställningar som du använder avgör dessa element. Mer information finns i Anpassa IDE.

Läsa in XML från en fil

Om du vill fylla i en XML-literal, till exempel en XElement eller XDocument ett objekt från en fil, använder du Load metoden. Den här metoden kan använda en filsökväg, textström eller XML-dataström som indata.

I följande kodexempel visas hur metoden används Load(String) för att fylla i ett XDocument objekt med XML från en textfil.

Dim books = 
    XDocument.Load(My.Application.Info.DirectoryPath & 
                   "\..\..\Data\books.xml")
Console.WriteLine(books)

Läsa in XML från en sträng

Om du vill fylla i en XML-literal, till exempel ett XElement eller XDocument objekt från en sträng, kan du använda Parse -metoden.

I följande kodexempel visas hur metoden används XDocument.Parse(String) för att fylla i ett XDocument objekt med XML från en sträng.

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)

Läsa in XML från en dataström

Om du vill fylla i en XML-literal, till exempel en XElement eller XDocument ett objekt från en dataström, kan du använda Load metoden eller XNode.ReadFrom metoden.

I följande kodexempel visas hur metoden används ReadFrom för att fylla i ett XDocument objekt med XML från en XML-dataström.

Dim reader = 
  System.Xml.XmlReader.Create(My.Application.Info.DirectoryPath & 
                              "\..\..\Data\books.xml")
reader.MoveToContent()
Dim inputXml = XDocument.ReadFrom(reader)
Console.WriteLine(inputXml)

Se även