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

posted @ 2018-12-12 12:33  applekingghfhfhbr  阅读(101)  评论(0编辑  收藏  举报