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

时间:2022-12-30 23:30:11
在读取一个XML文件时,XmlNode node = xmlDoc.SelectSingleNode("//*[@fileName='aa']"),因为没有这个节点,所以结果为NULL,如何接收这个结果,并继续进行添加节点的操作。因为我需要判断为空时,添加一个属性为fileName,值为a的节点。例:将node 转为XmlElement类型后,用if (xme.IsEmpty)  判断时,会提示引用的类型为空。因为没找到符合条件的节点,所以为空,关键是如何捕获这个条件,让我继续进行添加节点的操作,还请各位指教~~~~~~~~~~~·谢谢

4 个解决方案

#2


谢谢,直接用==null  貌似就可以了。。。。。我刚试了试,目前可以,看接着往下写会不会影响功能

#3



            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);

#4


c#不懂,只想知道c++该怎么写

#1


#2


谢谢,直接用==null  貌似就可以了。。。。。我刚试了试,目前可以,看接着往下写会不会影响功能

#3



            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);

#4


c#不懂,只想知道c++该怎么写