Практическое руководство. Загрузка XML-кода из файла, строки или потока (Visual Basic)
Обновлен: Ноябрь 2007
Можно создать XML-литералы и заполнить их содержимым внешнего источника, например файла, строки или потока, с помощью нескольких методов. Эти методы представлены в следующих примерах.
Примечание. |
---|
На вашем компьютере названия некоторых элементов интерфейса пользователя Visual Studio или их расположение могут отличаться от указанных в нижеследующих инструкциях. Это зависит от имеющегося выпуска 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-кодом из потока.
Dim reader = _
System.Xml.XmlReader.Create(My.Application.Info.DirectoryPath & _
"\..\..\Data\books.xml")
reader.MoveToContent()
Dim inputXml = XDocument.ReadFrom(reader)
Console.WriteLine(inputXml)