.NET 中的 XML 数据管理
本文关键字:数据管理 XML 中的 NET | 更新日期: 2023-09-27 17:56:17
我在.NET中学习XML数据处理。我有以下 XML 格式。
<BOOKS>
<BOOK>
<TITLE>book 1</TITLE>
<AUTHOR>author 1</AUTHOR>
<PRICE>10.90</PRICE>
<YEAR>1985</YEAR>
</BOOK>
<BOOK>
<TITLE>book 2</TITLE>
<AUTHOR>author 2</AUTHOR>
<PRICE>20.90</PRICE>
<YEAR>1995</YEAR>
</BOOK>
</BOOKS>
我需要学习在XML文件中添加/编辑/删除新书。您能否指导我探索这些功能的所有类。我发现很多课程,如XmlDocument
XmlTextWriter
等。一些站点建议也使用 LINQ。我很困惑该去哪一个。有什么好的材料我可以参考来理解这一点。
下面是
使用 LINQ to XML 添加和删除元素的示例:
// load the XML file into an XElement
XElement xml = XElement.Load(filePath);
// add a new book
xml.Add(
new XElement("BOOK",
new XElement("TITLE", "book 3"),
new XElement("AUTHOR", "author 3"),
new XElement("PRICE", 0.1),
new XElement("YEAR", 2012)));
// remove a book that matches the desired title
xml.Elements("BOOK").Where(x => x.Element("TITLE").Value == "book 1").Remove();
// to edit an existing element:
xml.Elements("BOOK")
.Single(x => x.Element("TITLE").Value == "book 2") // take a single book
.Element("AUTHOR").Value = "new author"; // and change its author field
基本上,只要你对技术感到满意,就可以使用任何你想要的东西。在我看来,LINQ to SQL似乎更容易一些。
如果文件相当小 - 即大小不是几 MB - 则应使用XmlDocument
(经典方式)或XDocument
(用于 XML 处理的新 LINQ 类)。你会发现很多关于两者的例子。
以下搜索结果可能会提示何时应使用其中哪些类:http://www.google.com/search?hl=en&q=XmlDocument%20vs.%20XDocument。就个人而言,我建议使用 XDocument
,因为它的 API 更易于使用。