Linq to XML 增删改查
Linq to XML同样是对原C#访问XML文件的方法的封装,简化了用xpath进行xml的查询以及增加,修改,删除xml元素的操作。
C#访问XML文件的常用类: XmlDocument,XmlElement,XmlAttribute,XmlNode,XmlText等; Linq to XML 中的常用类 : XDocument,XElement,XAttribute。 废话不多说了,直接上代码: xml文件数据格式如下
publicclassDataBaseInfo { publicstringID {get;set; } publicstringCompany {get;set; } publicstringServer {get;set; } publicstringDataBase {get;set; } publicstringUserName {get;set; } publicstringPassword {get;set; } privatestaticXDocumentdoc =newXDocument(); publicstaticstringfilePath =".DataBaseInfo.xml"; publicDataBaseInfo() { doc =XDocument.Load(filePath); } publicDataBaseInfo(stringfilepath):this() filePath = filepath; /// ///增 publicboolAdd() XElementdb =newXElement("DataBase", newXAttribute("id",ID),21)">"company",new"value",Company)),21)">"server",Server)),21)">"database",DataBase)),21)">"username",UserName)),21)">"password",Password)) ); try //用XElement的Add方法 //XElement doc = XElement.Load(filePath); //doc.Add(db); //用XDocument的Add方法 doc.Element("DataBases").Add(db); doc.Save(filePath); returntrue; catch returnfalse; ///删 publicstaticboolRemove(stringid) XElementxe = (fromdbindoc.Element("DataBases").Elements("DataBase")wheredb.Attribute("id").Value == idselectdb).Single()asXElement; xe.Remove(); ///改 publicboolModify() "id").Value.ToString() == IDselectdb).Single(); xe.Element("company").Attribute("value").Value = Company; "server").Attribute("value").Value = Server; "database").Attribute("value").Value = DataBase; "username").Attribute("value").Value = UserName; "password").Attribute("value").Value = Password; ///查 publicList<<span style="COLOR: #2b91af">DataBaseInfo> GetAll() List<<span style="COLOR: #2b91af">DataBaseInfo> dbs = (fromdbindoc.Element("DataBase") selectnew ID = db.Attribute("id").Value.ToString(),229)"> Company = db.Element("value").Value.ToString(),229)"> Server = db.Element( DataBase = db.Element( UserName = db.Element( Password = db.Element("value").Value.ToString() }).ToList(); returndbs; } (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |