2016年6月13日 星期一

【C#】Unable to cast object of type 'System.Xml.XmlText' to type 'System.Xml.XmlElement'.

在跑
elem.ChildNodes.Cast<XmlElement>()
時發生,無法將類型 'System.Xml.XmlText' 的物件轉換為類型 'System.Xml.XmlElement'。
的錯誤。

原因是在於串來串去的過程中可能會夾雜到空的文字節點,像
在 Cast 為 XmlElement 失敗就會噴,所以應該用
elem.ChildNodes.OfType<XmlElement>()
來縮限 Node 的種類,而非 Cast。

ref: SOF

沒有留言:

張貼留言