У меня есть этот тип формата XML:Чтение данных XML в C# с XmlTextReader
<?xml version="1.0" encoding="utf-8"?>
<root>
<descriptor>
<feature>5.12</feature>
<feature>0.0002827647</feature>
<feature>0.0147277</feature>
<feature>0.00037847</feature>
</descriptor>
</root>
на примере MSDN я пытаюсь прочитать это так:
Matrix<float> ObjectDescriptors = new Matrix<float>(200, 4);
XmlTextReader reader = new XmlTextReader("descriptors.xml");
int i = -1;
int ii = 0;
while (reader.Read())
{
if (reader.Name == "feature" && ii < 4)
{
String currStr = reader.Value;
ObjectDescriptors[i, ii] = Convert.ToSingle(currStr);
ii++;
if (ii == 4) ii = 0;
}
else if (reader.Name == "descriptor") i++;
}
я получаю следующее ошибка в строке
AgrObjectDescriptors[i, ii] = Convert.ToSingle(currStr);
необработанное исключение типа «System.FormatException» произошло в mscorlib.dll Дополнительная информация: Строка ввода не была в правильном формате.
Похоже, "особенность" узлового обнаружения (считыватель = {Элемент, Name = "особенность"}), но его содержание пустой ("")
использованием System.Xml; включен
Было бы хорошо, если бы кто-нибудь сказал мне, почему эта ошибка возникает! Спасибо!
replacebyObjectDescriptors [i, ii] = reader.ReadElementContentAsFloat(); решил проблему –
ваш читатель. Пустое. – Megha