2016-11-03 3 views
1

Ich frage mich, ob es eine Möglichkeit gibt, alle Elemente in einem XML mit XmlDocument durchlaufen und die Elemente in einem String-Array speichern. Ich möchte dies mit jedem XML, das Elemente enthält, tun können. Alle Antworten, die ich bisher gesehen habe, sind für bestimmte XML-Dateien gemacht. Ich möchte dies mit jedem XML in VB.NET tun.Looping durch alle Elemente in XML VB.NET

Antwort

1

Dies kann durch Aufzählen alle Descendants() eines XDocument leicht getan werden:

Module Program 

    Sub Main() 

     Dim xDocument = <?xml version="1.0"?> 
         <root> 
          <node1> 
           <node2></node2> 
          </node1> 
          <node1> 
           <node2></node2> 
          </node1> 
         </root> 

     For Each el In xDocument.Descendants() 
      Console.WriteLine(el.Name) 
     Next 

    End Sub 

End Module 

Sie können eine Instanz eines XDocument von einem VB XML-Literal (wie oben) erstellen, aus einem String (XDocument.Parse("<root></root>") oder von einem Datei/Stream (XDocument.Load(fileName)).