Как использовать XmlNode () как результат от веб-сервиса в VB.NET? - PullRequest
0 голосов
/ 28 декабря 2018

Веб-сервис просто возвращает XmlNode ():

Dim nodes() As XmlNode = CType(result.handler, XmlNode())

Прежде всего, как этот результат можно рассматривать как обычный XML (в Visual Studio)?

И затем, какиспользовать этот результат и перемещаться / выбирать конкретные элементы из него?

1 Ответ

0 голосов
/ 28 декабря 2018

Прежде всего, как этот результат можно рассматривать как обычный XML (в Visual Studio)?

Вы можете использовать XmlNode.WriteTo(XmlWriter)*Метод 1009 *, использующий объект XmlWriter, созданный для записи в объект StringBuilder ( документация ), например:

Imports System.Text
Imports System.Xml

'[...]
Public Function NodesToString(nodes() As XmlNode) As String

   Dim sb As New StringBuilder()

   Dim settings As New XmlWriterSettings()
   settings.ConformanceLevel = ConformanceLevel.Fragment
   settings.Indent = True

   Dim writer = XmlWriter.Create(sb, settings)
   For Each node In nodes
      node.WriteTo(writer)
   Next
   writer.Close()

   Return sb.ToString()

End Function

После этого все содержимое ваших узлов должнобыть на вашем StringBuilder объекте, и простой sb.ToString() покажет вам все это.

И затем, как использовать этот результат и перемещаться / выбирать конкретные элементы из него?

XmlNode - базовый класс для множества элементов в библиотеке System.Xml, даже XmlDocument и XmlElement классов, так что есть много «навигационных возможностей» XML.

Как указано в документации:

Этот класс реализуетОбъектная модель документа W3C (DOM) Уровень 1 Ядро и Базовый DOM Уровень 2. DOM - это представление дерева (в кеше) XML-документа.XmlNode - это базовый класс в .NET-реализации DOM.Он поддерживает выбор XPath и предоставляет возможности редактирования.Класс XmlDocument расширяет XmlNode и представляет документ XML.Вы можете использовать XmlDocument для загрузки и сохранения данных XML.Он также включает методы для создания узла.См. объектную модель документа XML (DOM) для получения дополнительной информации.

Вы можете использовать эти свойства или методы для навигации по узлам XML, например:

...