.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。我很困惑该去哪一个。有什么好的材料我可以参考来理解这一点。

.NET 中的 XML 数据管理

下面是

使用 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 更易于使用。