我如何查看一个节点实际上是否具有一定的属性?我有一个包含几个节点的XML文件,如下所示:
<Field From="OldString" To="NewString" />
到现在为止还挺好。问题是这个结构即将被改变成一些节点看起来像这样:
<Field From="OldString" To="NewString" PrefixValue="OptionalAttribute" />
现在,当PrefixValue存在时,我应该将该属性中的值添加到一个字符串,这并不是很困难,但是当我尝试查看PrefixValue属性是否存在时,我遇到了一些问题节点。在没有PrefixValue的情况下,属性PrefixValue根本不存在于节点中。如何查看属性是否存在Linq-expression?
那么这取决于你想做什么。如果要在投影中使用它,可以使用:
(string) element.Attribute("PrefixValue")
如果属性丢失,那将返回null,这是有用的。
如果你想在一个where子句中使用如下:
where element.Attribute("PrefixValue") != null