在C#中,实现对XML数据的操作可以使用XmlDocument类或者XDocument类,而实现对JSON数据的操作可以使用Newtonsoft.Json类库。
读取XML数据可以使用Load或LoadXml方法,写入XML数据可以使用CreateElement或CreateAttribute方法,更新和删除XML数据可以使用SelectSingleNode或SelectNodes方法。
读取JSON数据可以使用JsonConvert.DeserializeObject方法,写入JSON数据可以使用JsonConvert.SerializeObject方法,更新和删除JSON数据可以先将JSON数据转换为对象,然后操作对象的属性,最后再将对象转换为JSON数据。
以下是一些代码示例:
读取XML数据:
XmlDocument xmlDoc = new XmlDocument(); xmlDoc.Load("data.xml"); XmlElement root = xmlDoc.DocumentElement; XmlNodeList nodes = root.SelectNodes("//book");
写入XML数据:
XmlDocument xmlDoc = new XmlDocument(); XmlElement bookElement = xmlDoc.CreateElement("book"); XmlAttribute idAttribute = xmlDoc.CreateAttribute("id"); idAttribute.Value = "001"; bookElement.Attributes.Append(idAttribute); xmlDoc.AppendChild(bookElement);
更新XML数据:
XmlNode node = root.SelectSingleNode("//book[@id='001']"); node.Attributes["name"].Value = "C# Programming";
删除XML数据:
XmlNode node = root.SelectSingleNode("//book[@id='001']"); root.RemoveChild(node);
读取JSON数据:
string json = File.ReadAllText("data.json"); List<Book> books = JsonConvert.DeserializeObject<List<Book>>(json);
写入JSON数据:
List<Book> books = new List<Book>(); books.Add(new Book() { Id = "001", Name = "C# Programming" }); string json = JsonConvert.SerializeObject(books); File.WriteAllText("data.json", json);
更新JSON数据:
List<Book> books = JsonConvert.DeserializeObject<List<Book>>(json); Book book = books.FirstOrDefault(b => b.Id == "001"); book.Name = "C# Advanced Programming"; string updatedJson = JsonConvert.SerializeObject(books);
删除JSON数据:
List<Book> books = JsonConvert.DeserializeObject<List<Book>>(json); books.RemoveAll(b => b.Id == "001"); string updatedJson = JsonConvert.SerializeObject(books);