XDocument是Linq所提供的一個關於XML的類別
但有的時候我們所使用的方法要求傳入的是XmlDocument
但是在傳入之前,我們想要針對這個XML檔案做一些處理後,再傳進去
這時候就可以利用XDocument,經由Linq處理後,再轉成XmlDocument丟進去
註:用了Linq to XML,終於可以離開之前寫XML相關處理的惡夢,Linq真是個好東西
話不多說了,直接來看程式吧
using System.Xml.Linq; XDocument XDoc = XDocument.Load(Log4NetConfigXMLFilePath); var nodes = (from p in XDoc.Elements("log4net") .Elements("appender") .Elements("file") elect p).FirstOrDefault(); //使用Linq Select出來後,進行處理 nodes.SetAttributeValue("value",HttpContext.Current.Server.MapPath("~/") + nodes.Attribute("value").Value); //轉出來後再放到XmlDocument System.Xml.XmlDocument XmlDoc = new System.Xml.XmlDocument(); //把XDocument轉成XmlDocument XmlDoc.LoadXml(XDoc.Document.ToString());