Я пишу Sub, который читает XML-файл из заданного пути, а затем загружает его в массив объектов. По какой-то причине алгоритм отлично работает для имени, но отказывается работать с тегами стоимости и типа. Что происходит?XML-чтение Sub Не работает
(UPDATE: отказывается работать означает, что он возвращает пустую строку, или в случае стоимости: 0)
Вот мой код:
Public Sub New(ByVal Path As String)
Try
Dim XML As New XmlTextReader(Path)
Try
Dim Bool As Boolean = False
Dim Name As String = ""
Dim Cost As Double = 0
Dim Type As String = ""
While True
XML.Read()
If Bool Then
Select Case XML.Name
Case Is = "name"
XML.Read()
Name = XML.Value
Case Is = "cost"
XML.Read()
Double.TryParse(XML.Value, Cost)
Case Is = "type"
XML.Read()
Type = XML.Value
End Select
End If
If XML.Name = "card" Then
Bool = True
End If
If Not CheckNulls(Name, Cost, Type) Then //CheckNulls returns true if all arguments passed to it are either empty strings, or 0
Dim Card As New Card(Name, Cost, Type)
Deck.Add(Card)
Cost = 0
Name = ""
Type = ""
Bool = False
End If
End While
Catch Ex As Exception
Exit Sub
End Try
Catch Ex As Exception
MsgBox("The System has encountered an error. Running the software anymore could cause a serious malfunction. Please exit now", MsgBoxStyle.OkOnly, "Error Message")
End Try
End Sub
Вот XML файл: Мона Лиза искусство Горошек 35,85 искусство
Что вы имеете в виду «отказывается работать»: действительно возникают ошибки или это просто пустая строка и т.д.? Кроме того, предоставьте XML-файл, который вы пытаетесь проанализировать. – DAXaholic
Узнайте о выражениях «XPath». Вы были бы намного счастливее. http://www.w3schools.com/xsl/xpath_syntax.asp –
@Pradeep Kumar Как использовать XPath в VB.NET? –