【发布时间】:2013-07-06 23:53:56
【问题描述】:
我有以下 xml 。由于在这种情况下 addr 是空的,但大多数时候它具有诸如 street,city,state 之类的元素。我如何确保它存在。因为现在 LINQ 查询会引发错误“对象引用未设置为对象的实例。”
<author>
<time value="20120620153233"/>
<assignedAuthor>
<id/>
<addr/>
<telecom value="tel:+1-781-271-3000"/>
<assignedPerson>
<name>Auto Generated</name>
</assignedPerson>
</assignedAuthor>
</author>
tbAuthor autor =
(from c in cdafile.Root.Elements(ns + "author")
select new tbAuthor
{
streetAddressLine = (string)c.Element(ns + "assignedAuthor").Element(ns + "addr").Element(ns + "streetAddressLine").Value,
city = (string)c.Element(ns + "assignedAuthor").Element(ns + "addr").Element(ns + "city").Value,
state = (string)c.Element(ns + "assignedAuthor").Element(ns + "addr").Element(ns + "state").Value,
postalCode = (string)c.Element(ns + "assignedAuthor").Element(ns + "addr").Element(ns + "postalCode").Value,
country = "US"
}).FirstOrDefault();
【问题讨论】:
-
ns 变量中有什么?
标签: c# xml linq linq-to-xml