В моей программе C# я загружаю данные о машине из файла xml в объекты автомобиля.Проверить отсутствующий элемент int xml
Это мой XML-файл:
<Car>
<CarID>1</CarID>
<CarName>Honda</CarName>
<CarColor>Blue</CarColor>
</Car>
<Car>
<CarName>Ford</CarName>
<CarColor>Yellow</CarColor>
</Car>
<Car>
<CarID>3</CarID>
<CarName>BMW</CarName>
<CarColor>Green</CarColor>
</Car>
Обратите внимание, что второй вход автомобиля не имеет идентификатора. Поэтому мне нужно будет проверить это, чтобы избежать нулевого исключения.
Я загружать данные XML в моем C# код, как это:
List<Car> Cars =
(
from el in XDocument.Load("XML_Files/cars.xml").Root.Elements("Car")
select new Car
{
CarID = (int)el.Element("CarID"),
CarName = (string)el.Element("CarName"),
CarColor = (string)el.Element("CarColor")
}).ToList();
Я прочитал в другой вопрос, чтобы обойти это, для строковых данных, мы заменим это:
CarName = (string)el.Element("CarName")
с этим:
CarName = ((string)el.Element("CarName") != null) ? (string)el.Element("CarName") : string.Empty
это прекрасно работает для строковых значений, но то, что я не могу понять, как применять этот л ogic для значений int.
Так как же я могу изменить эту строку:
CarID = (int)el.Element("CarID")
Для проверки на нулевое значение?
Я пробовал этот способ, но он не работает:
CarID = ((int)el.Element("CarID") >= 0) ? Convert.ToInt32(el.Element("CarID").Value) : 0
Есть предложения?
Это замечательно. Благодаря! – Zolt