Попытка прочитать отдельные строки из файла Xml - PullRequest
0 голосов
/ 26 февраля 2020

Я пытаюсь прочитать отдельные значения Lat, Long и Alt из файла xml ниже, используя visual basi c. Формат для xml отличается от того, с чем я ранее работал. Я могу извлечь элементы из файла, но я пытаюсь прочитать только отдельные значения для Lat, Long, Alt и т. Д. c. Я не смог понять, как это сделать с помощью XmlReader или LINQ.

Пример кода:

Dim xelement As XElement = XElement.Load("D:\GAHR_KSAv1_1_1.xml")
Dim entries As IEnumerable(Of XElement) = xelement.Elements()
For Each employee In entries
Dim lla_tracker As List(Of String) = employee.Descendants("ActingPos").ToList()
Console.WriteLine(employee.Element("ActingPos"))
Next employee

Файл:

<Entry MC="11" Time="0.00" ActName="SCR_ON">
   <ActingPlat ID="1"/>
   <AgainstPos Lat="24.5399" Lon="46.7704" Alt="567"/>
</Entry>

1 Ответ

0 голосов
/ 26 февраля 2020

Попробуйте xml linq

Imports System.Xml
Imports System.Xml.Linq
Module Module1
    Const FILENAME As String = "c:\temp\test.xml"
    Sub Main()
        Dim doc As XDocument = XDocument.Load(FILENAME)

        Dim againstPoses As List(Of XElement) = doc.Descendants("AgainstPos").ToList()

        For Each againstPos In againstPoses
            Dim lat As Decimal = CType(againstPos.Attribute("Lat"), Decimal)
            Dim lon As Decimal = CType(againstPos.Attribute("Lon"), Decimal)
            Dim alt As Decimal = CType(againstPos.Attribute("Alt"), Decimal)
        Next againstPos
    End Sub

End Module
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...