Веб-сервис просто возвращает XmlNode ():
Dim nodes() As XmlNode = CType(result.handler, XmlNode())
Прежде всего, как этот результат можно рассматривать как простой xml (в Visual Studio)?
И затем, как использовать этот результат и перемещаться / выбирать из него конкретные элементы?
1. Я не имею в виду отладчик в этом контексте. Это сводит меня с ума при просмотре вложенных объектов;) Я хотел бы просмотреть всю структуру xml как документ dom. Ищу что-то вроде $ nodesArray-> toXmlString () 2. На данный момент у них нет целевого класса. должны использовать библиотеку Xml, но что использовать, если у вас нет XmlDocument, а есть только XmlNodes ()?
Поскольку это массив, вам нужно преобразовывать по одному элементу в массиве за раз. Поэтому я обычно использую что-то вроде этой строки xml = string.Join ("\ n", nodes.Select (x => x.ToString ()));





First of all, how can this result be viewed as plain xml (in visual studio)?
Вы можете использовать метод XmlNode.WriteTo(XmlWriter), используя объект 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() покажет вам все это.
And then, how to use this result and navigate / select concrete items from it?
XmlNode - это базовый класс для множества элементов в библиотеке System.Xml, даже для классов XmlDocument и XmlElement, так что здесь присутствует много «возможностей навигации» XML.
Как указано в документации:
This class implements the W3C Document Object Model (DOM) Level 1 Core and the Core DOM Level 2. The DOM is an in-memory (cache) tree representation of an XML document.
XmlNodeis the base class in the .NET implementation of the DOM. It supports XPath selections and provides editing capabilities. TheXmlDocumentclass extendsXmlNodeand represents an XML document. You can useXmlDocumentto load and save XML data. It also includes methods for node creation. See XML Document Object Model (DOM) for more information.
Эти свойства или методы можно использовать для навигации по узлам XML, например: