0
在我的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>
注意,第二辆车条目没有一个ID。所以我需要检查这个以避免一个空的异常。
我加载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
,对于字符串值正常工作,但我无法弄清楚是如何应用该L ogic为int值。
那么,如何修改此行:
CarID = (int)el.Element("CarID")
为了测试空值?
我已经试过这种方式,但它不工作:
CarID = ((int)el.Element("CarID") >= 0) ? Convert.ToInt32(el.Element("CarID").Value) : 0
有什么建议?
太好了。谢谢! – Zolt