怎么判断XML文件中 某个节点是否存在,不存在为NULL时如何继续添加节点

如何判断XML文件中 某个节点是否存在,不存在为NULL时怎么继续添加节点
在读取一个XML文件时,XmlNode node = xmlDoc.SelectSingleNode("//*[@fileName='aa']"),因为没有这个节点,所以结果为NULL,如何接收这个结果,并继续进行添加节点的操作。因为我需要判断为空时,添加一个属性为fileName,值为a的节点。例:将node 转为XmlElement类型后,用if (xme.IsEmpty)  判断时,会提示引用的类型为空。因为没找到符合条件的节点,所以为空,关键是如何捕获这个条件,让我继续进行添加节点的操作,还请各位指教~~~~~~~~~~~·谢谢
------解决方案--------------------
使用linq  to xml吧。
http://blog.csdn.net/duanzi_peng/article/details/24018431
------解决方案--------------------

            string path = @"D:\1.xml";
            XDocument xml = XDocument.Load(path);
            IEnumerable<XElement> elements = xml.Element("file").Elements().Where(x => x.Value.Equals("aa"));
            if (elements.Count() == 0)
            {
                xml.Element("file").Add(new XElement("filename", "aa"));
            }
            xml.Save(path);