Пытаюсь прочитать XML файл.
XmlDocument doc = new XmlDocument();
doc.Load(filePath);
XmlNodeList cellList = doc.SelectNodes("//Row/Cell");
foreach (XmlNode node in cellList);
{
string iNumber = cellList[0].Attributes[0].Value;
string iAccountNumber = cellList[1].Attributes[0].Value;
string name = cellList[2].Attributes[0].Value;
При запуске выдаёт ошибку: System.NullReferenceException: "Ссылка на объект не указывает на экземпляр объекта." указывая на строку:
string iNumber = cellList[0].Attributes[0].Value;
Что делаю не так подскажите пожалуйста.
Вот фрагмент из xml файла. Перед этим фрагментом много информации с совершенно разными тегами, которые не нужно читать.
<Row>
<Cell ss:StyleID="s69"><Data ss:Type="Number">1</Data></Cell>
<Cell ss:StyleID="s69"><Data ss:Type="Number">340054288</Data></Cell>
<Cell ss:StyleID="s69"><Data ss:Type="String">ИВАНОВ К. С.</Data></Cell>
<Cell ss:StyleID="s69"><Data ss:Type="String">НОВОСТРОЙКА 28 ГА</Data></Cell>
<Cell ss:StyleID="s69"><Data ss:Type="Number">271</Data></Cell>
<Cell ss:StyleID="s69"><Data ss:Type="String">108.8200</Data></Cell>
<Cell ss:StyleID="s69"><Data ss:Type="String">2015-061195</Data></Cell>
<Cell ss:StyleID="s69"><Data ss:Type="String">DDS 232</Data></Cell>
<Cell ss:StyleID="s70"><Data ss:Type="DateTime">2017-09-05T00:00:00.000</Data></Cell>
</Row>
Элементов с тегом Row много в файле, именно их нужно читать.
xxxпринимает значение null». Также приложите пример XML на котором воспроизводится ошибка. Вообще, по этому типу ошибки есть вопрос с набором рецептов для анализа проблемы: Что такое NullReferenceException, и как мне исправить код?. – default locale May 22 '19 at 03:04foreachцикле не используете переменнуюnode? Вот тут очень хорошее описание работы с xml структурами. – Rootware May 22 '19 at 03:51filePathлибоcellListу вас пустой, ставте точку останова, и смотриче в чем проблема...скорее всего у вас вXmlNodeList cellList = doc.SelectNodes("//Row/Cell");неверный путь (но это не 100%) – Vitaliy Stop_RU_war_in_UA May 22 '19 at 05:19if (node != null) {ваш код}. И у вас нет чего-то на подобииXmlElement xRoot = xDoc.DocumentElement;– Vitaliy Stop_RU_war_in_UA May 22 '19 at 08:05