Поделиться через


Практическое руководство. Загрузка XML из файла, строки или потока (Visual Basic)

Можно создать XML-литералы и заполнить их содержимым из внешнего источника, например файла, строки или потока с помощью нескольких методов. Эти методы показаны в следующих примерах.

Замечание

На компьютере могут отображаться различные имена или расположения для некоторых элементов пользовательского интерфейса Visual Studio в следующих инструкциях. Выпуск Visual Studio, который у вас есть, и параметры, которые вы используете, определяют эти элементы. Дополнительные сведения см. в разделе Персонализация интегрированной среды разработки.

Загрузка XML из файла

Чтобы заполнить XML-литерал, такой как объект XElement или XDocument из файла, используйте метод Load. Этот метод может принимать путь к файлу, текстовый поток или XML-поток в качестве входных данных.

В следующем примере кода показано использование Load(String) метода для заполнения XDocument объекта XML из текстового файла.

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

Загрузка XML из строки

Чтобы заполнить XML-литерал, например объект XElement или XDocument, из строки, можно использовать метод Parse.

В следующем примере кода показано использование XDocument.Parse(String) метода для заполнения XDocument объекта XML из строки.

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)

Загрузка XML из потока

Чтобы заполнить объект XML-литерала, например XElement или XDocument, из потока, можно использовать метод Load или метод XNode.ReadFrom.

В следующем примере кода показано использование ReadFrom метода для заполнения XDocument объекта XML из XML-потока.

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

См. также