我正在運行這行代碼,該代碼行可以完美執行大約800條記錄。它擊中記錄801,和我拋出Handle Null XML元素
型「System.NullReferenceException」發生在XMLPost.exe
未處理的異常
其他信息:對象引用不設置到對象的實例。
這是麻煩的代碼行,我認爲在?.Value
中加入的代碼會佔用空元素。
string sr12 = xml.Element("Parent").Element("Child1").Element("Child2").Element("Child3").Element("Child4").Element("Child5").Element("sr12")?.Value;
Console.WriteLine(sr12);
我應該改變我的變量sr12
,這樣它不會破壞我的代碼可以繼續按預期執行?
編輯
XML結構
<parent>
<one>
<two>
<three>
<sr12></sr12>
</three>
</two>
</one>
<ten>
<eleven>
<twelve>
<thirteen>
<sr12></sr12>
</thirteen>
</twelve>
</eleven>
</ten>
</parent>
我也試過這個語法
var result = (string) xml.Elements("Parent")
.Elements("ten")
.Elements("eleven")
.Elements("twelve")
.Elements("thirteen")
.Elements("homeaddress")
.SingleOrDefault();
其產生
類型的未處理的異常錯誤「系統.InvalidO perationException」發生在System.Core.dll
其他信息:序列包含多個元素
可能的複製HTTP:/ /stackoverflow.com/questions/7186796/how-to-check-particular-attributes-exist-or-not-in-xml –
如果任何其他元素(「xx」)元素爲空,該怎麼辦?你只需檢查元素(「sr12」)是否爲空。 – Nebr
請勿使用value:string sr12 =(string)xml.Element(「Parent」)。Element(「Child1」)。Element(「Child2」)。Element(「Child3」)。Element(「Child4」)。元素( 「Child5」)元件( 「SR12」); – jdweng