0
我加載一個字符串轉換成XML元素,並已經制定了什麼,我以爲有什麼足夠的錯誤檢查,但是,如果一個特定的XML節點心不是目前它仍然拋出一個錯誤檢查在動態元素空
StackTrace "at System.Linq.Enumerable.First[TSource](IEnumerable`1 source)\r\n
at MvcApplication1.Controllers.MyController.MySearch(SearchModel s)
in c:\\...Controller.cs:line 2900" string e {"Sequence contains no elements"}
System.Exception {System.InvalidOperationException}
如果這不是檢查節點存在的正確方法,那是什麼?請提前告知並告知。
XmlDocument doc = new XmlDocument();
doc.LoadXml(mytextstring);
XDocument docx = DocumentToXDocumentReader(doc);
...
try
{
foreach (XElement xe in docx.Descendants("RootElement"))
{
MySearchModel jbcs = new MySearchModel();
jbcs.ID = xe.Attribute("SID").Value;
...
jbcs.FirstName = (xe.Element("PersonalData").Element("Name").Element("First") == null) ? "" :
xe.Element("PersonalData").Element("Name").Element("First").Value.Trim();
jbcs.LastName = (xe.Element("PersonalData").Element("Name").Element("Last") == null) ? "" :
xe.Element("PersonalData").Element("Name").Element("Last").Value.Trim();
jbcs.HomeLocation = (xe.Element("PersonalData").Element("Address").Element("Location") == null) ? "" :
xe.Element("PersonalData").Element("Address").Element("Location").Value.Trim();
...
}
}
這並不工作之一:
jbcs.FirstName = (xe.Element("PersonalData").Element("Name").Element("First").Equals(null)) ? ...