在xml中插入新元素之前检查是否存在该值

时间:2014-07-20 18:05:57

标签: c# xml

我在xml文件下面有以下格式:

<?xml version="1.0" encoding="utf-8" ?>
<Root>
<Countries>
    <country>India</country>
    <country>USA</country>  
    <country>UK</country>      
</Countries>
</Root>

string newCountry="UAE"

我想将此“阿联酋”国家/地区插入上述xml文件,之后我想检查xml中是否已存在“UAE”。如果不存在则只想插入否则无操作。我怎么能这样做?

2 个答案:

答案 0 :(得分:0)

最简单的方法可能是将xml读入C#对象,检查是否存在UAE,可能会添加它,并将对象写回XML。

答案 1 :(得分:0)

像这样:

XDocument xml = XDocument.Load("path_to_file");
string newCountry = "UAE";

XElement countries = xml.Descendants("Countries").First();
XElement el = countries.Elements().FirstOrDefault(x => x.Value == newCountry);
if (el == null)
{
    el = new XElement("country");
    el.Value = newCountry;
    countries.Add(el);        
}

//Console.WriteLine(countries.ToString());