linq to xml C#
private string GetResponseErrorMsg(string transactionid, Dictionary<string, string> errorMsg)
{
//key除了head 都是 CTO 加msg
string xmlpath = HttpContext.Current.Request.PhysicalApplicationPath + "//XML//Receive//" + transactionid + ".xml";
XDocument doc = XDocument.Load(xmlpath);
XElement rootLinq = doc.Root;
rootLinq.Name = "RESPONSE";
foreach (var item in errorMsg)
{
if (item.Key == "head")
{
XElement CTODhead = rootLinq.Element("HEADER");
if (CTODhead != null)
{
XElement errorMsgRoot = new XElement("MESSAGE", item.Value);
CTODhead.Add(errorMsgRoot);
}
}
XElement CTODelete = (from CTO in rootLinq.Element("BODY").Element("CTOS").Elements() where CTO.Element("NAME").Value == item.Key select CTO).SingleOrDefault();
if (CTODelete != null)
{
CTODelete.Element("CONFIGURATION").Remove();
XElement errorMsgRoot = new XElement("MESSAGE", item.Value);
CTODelete.Add(errorMsgRoot);
}
}
return doc.ToString();
}