2016-02-05 71 views
2

我想使用linq读取XML并检查元素是否存在并获取它的值。使用Linq读取XML并检查元素是否存在

例如,如果元素像<Name />那么我得到NullException。如何检查其值是否为空,以及是否存在于单语句中的XML中。

+3

使用'(string)element(“Name”)' - 显式转换为'string'将安全地处理空值。 – Tim

+0

如何检查名称是否存在于XML中?如果名称不存在于XML中,这将无法正常工作。 – VShetty

回答

3

您可以使用explicit conversions这样的: -

string result = (string)x.Element("Name"); 

更新:

如果元素本身不存在,那么你可以使用C# Null Colaescing操作是这样的: -

string result = (string)x.Element("Name") ?? "Default Value"; 
+0

谢谢!但是,如果标签不存在?名称标签可能存在或不存在于XML中。如何处理这个问题? – VShetty

+0

@VShetty - 检查我的更新。 –

+1

谢谢你..现在它工作。 – VShetty