Мне сложно разобрать некоторые простые XML-данные, отправляемые обратно cc-терминалом.Недопустимые символы в пути при разборе строки xml
Вот данные мне дали ответ:
"<PLCardPresent>0</PLCardPresent><PLEntryMode>1</PLEntryMode><PLNameOnCard>FRANKINSON/FRANK </PLNameOnCard><AmountDue>0</AmountDue><TipAmount>0</TipAmount><CashBackAmout>0</CashBackAmout><MerchantFee>0</MerchantFee><TaxAmount>0</TaxAmount><ExpDate>1219</ExpDate><ECRRefNum>666</ECRRefNum>"
Я пытаюсь разобрать его с этим:
Dim myXmlDoc As New XmlDocument
myXmlDoc.Load(r.ExtData)
Dim ExpDate As String = ReturnXmlValue(myXmlDoc, "ExpDate")
Dim NameOnCard As String = ReturnXmlValue(myXmlDoc, "PLNameOnCard")
Мой метод:
Protected Function ReturnXmlValue(ByVal myXDoc As Xml.XmlDocument, ByVal field As String) As String
Dim retval As String = String.Empty
Try
Dim node As Xml.XmlNodeList = myXDoc.GetElementsByTagName(field)
If node IsNot Nothing And node.Count > 0 Then
retval = node.Item(0).InnerText
End If
Catch ex As Exception
WriteException(ex)
Throw
End Try
Return retval
End Function
Ошибки есть происходит при загрузке документа xml.
Я не разбираюсь в этом правильном пути?
ДОПОЛНИТЕЛЬНАЯ ИНФОРМАЦИЯ
Так как это было предложено, чтобы проверить нулевые терминаторов, я сделал следующее изменение, которое я надеюсь, что имелось в виду:
Dim test As String = r.ExtData.Replace(ControlChars.NullChar, String.Empty)
Dim myXmlDoc As New XmlDocument
myXmlDoc.Load(test)
Я до сих пор получил I ошибки упоминание в названии.
Что касается r.ExtData, это строка данных, которая начинается с того, что я выделил выше.
Dim r As PaymentResponse = posl.PaymentResponse
Что дает мне что-то похоже на это:
Что такое 'r.ExtData', который вы используете для загрузки данных XML? – Steve
Я ответил на сообщение вам два. Ty для ваших комментариев. – ErocM
Вы используете неправильный метод. 'Load' принимает имя файла, а не строку XML. – Dai