В настоящее время я работаю над приложением импорта данных на VS2012, которое берет XML-данные и импортирует их в базу данных. У меня есть xsd-схема, с которой должен соответствовать xml-документ.Работа с нулевыми элементами в xml
Внутри моего xsd я определил <Loan>
, чтобы иметь minOccurs=0
, что, очевидно, означает, что элемент Loan не должен быть установлен.
Теперь, когда я работаю с моими фиктивными данными и не помещаю (и это другие элементы внутри), он возвращается ко мне с ошибкой, говорящей, что значение не может быть нулевым. Я проследил это обратно к моей C# код и обнаружил, что линия его терпел неудачу на было:
int loan_count = fam.Family[i].Loan.Count();
Даже если у меня есть MinOccurs установлено в 0, то элемент займа по-прежнему не допускает пустых значений.
В любом случае, убедитесь, что при отсутствии элемента <Loan>
код выше возвращает 0, а не Null.
FIXED! ОТВЕТ - ПРИНИМАЕМЫЙ ОТВЕТ
Жениться на мне? Нах, но серьезно, просто изменив эту строку кода, исправил ее. Большое вам спасибо haha –
, а также хорошо объяснил, теперь я знаю, почему он выбрасывал исключение и как count() фактически работает :) –