如何从XML文件中检索数据

本文关键字:检索 数据 文件 XML | 更新日期: 2023-09-27 17:59:01

我有一个XML文件,我想从中检索数据,以便将这些数据存储在我的数据库中。我搜索了一下,找到了这个帖子。

我不知道以下是什么意思:

创建一个XML模式,这样您就可以将此XML反序列化为.NET对象——如果您有大量的文件要导入,效果最好。

因此:

  • 我想看看一些关于如何做到这一点的文章或例子
  • 如何检查来自XML文件的数据

如何从XML文件中检索数据

这意味着您可以编写一个反映XML文件结构的.NET对象,然后将XML文件反序列化回该对象的实例。例如,如果您有以下XML:

<User>
    <FirstName>John</FirstName>
    <LastName>John</LastName>
</User>

你可以有一个用户类:

public class User
{
    public string FirstName { get; set; }
    public string LastName { get; set; }
}

然后反序列化:

var serializer = new XmlSerializer(typeof(User));
using (var reader = XmlReader.Create("test.xml"))
{
    User user = (User)serializer.Deserialize(reader);
}

您可以将属性应用于.NET对象,以便控制序列化/反序列化过程。

就XML文件的验证而言,您可以编写一个XSD模式(它是一个XML文件)来表示文件的数据结构,然后根据该模式对其进行验证。这将确保作为输入的XML文件遵守定义的规则(它具有正确的节点名称、所需的属性等)

您想了解"创建一个XML模式,以便将此XML反序列化为.NET对象-如果有大量文件要导入,效果最好"。

以下是向您展示如何实现这一目标的链接:

指令

您可以使用Visual studio创建架构。只需使用VS打开XML文件。然后选择"XML"->"创建架构"菜单。

或者你可以使用Xsd.exe工具:

  • 首先使用命令提取shemaxsd.exe您的.xml
  • 第二次生成使用生成的架构中的类命令xsd.exe your.xsd/classes

在这里,您可以找到如何使用xsd验证xml。