2011-04-27 3 views
0

私は条件をXMLファイルに要素を追加したい:。LINQ値==「1」

like where attribute("id").value=="1" 

このコードでwhere句は動作しません:

string xmlFilePath = MapPath("Employees.xml"); 
XDocument xmlDoc = XDocument.Load(xmlFilePath); 
try 
{ 
    xmlDoc.Element("employees").Element("employee") 
     .Where(employee => employee.Attribute("id").Value == "2").FirstOrDefault()) 
     .Add(new XElement("city", "welcome")); 

    xmlDoc.Save(xmlFilePath); 
} 
catch (XmlException ex) 
{ 
    //throw new XmlException 
} 
+0

すみませんが、私は質問を理解していません。あなたはそれを明確にすることができますか?ありがとう。 –

答えて

0

これは良い仕事かもしれません:

XDocument xmlDoc = XDocument.Load(xmlFilePath); 
try 
{ 
    xmlDoc 
     // get the employees element 
     .Element("employees") 
     // get all the employee elements 
     .Elements("employee") 
     // but filter down to the first one that has id == 2 
     .Where(employee => employee.Attribute("id").Value == "2").FirstOrDefault() 
     // and add a new city element to it 
     .Add(new XElement("city", "welcome")); 
    // save the document 
    xmlDoc.Save("D:\\x.xml"); 
} 
catch (XmlException ex) 
{ 
    //throw new XmlException 
} 
+0

しかし、エラーはXML文書の一部ではありません....... –