<user Id="4/30/2015 10:16:52 AM">
<city>Bathinda</city>
<city>Moga</city>
<city>Patiala</city>
<city>Amritsar</city>
<city>Faridkot</city>
</user>
我想在用户节点下创建一个具有Id属性值的条目,为此我使用了以下代码:
xmlDocument.Elements("user")
.Where(x => (string)x.Attribute("Id") == usrCookieId)
.FirstOrDefault()
.AddAfterSelf(
new XElement("adults", drpAdult1.SelectedIndex),
new XElement("kids", Convert.ToInt32(drpKids.SelectedIndex)),
new XElement("infants", Convert.ToInt32(drpInfants.SelectedIndex)),
new XElement("startingDate", datePicker.Value),
new XElement("startingCity", drpStartingCity.SelectedValue ));
但是错误是:对象引用未设置为对象的实例。 我该如何纠正上面的代码。 谢谢!
First()
而不是FirstOrDefault()
,因为如果没有匹配的元素,你将会得到一个NullReferenceException
,这比First()
爆炸并表示没有匹配更不清晰。 - Jon SkeetFirstOrDefault
替换Where
,因为Single
、SingleOrDefault
、First
和FirstOrDefault
都是在适当的时候退出的Where
。 - Chuck Savage